diff --git a/.github/workflows/pages.yml b/.github/workflows/pages.yml new file mode 100644 index 000000000..dde66fcf4 --- /dev/null +++ b/.github/workflows/pages.yml @@ -0,0 +1,63 @@ +name: Documentation site + +on: + push: + branches: [main] + paths: + - "docs/**" + - "package.json" + - "package-lock.json" + - ".nvmrc" + - ".github/workflows/pages.yml" + pull_request: + branches: [main] + paths: + - "docs/**" + - "package.json" + - "package-lock.json" + - ".nvmrc" + - ".github/workflows/pages.yml" + workflow_dispatch: + +permissions: + contents: read + +concurrency: + group: pages-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: ${{ github.event_name == 'pull_request' }} + +env: + HUSKY: "0" + +jobs: + build: + name: Build documentation + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version-file: .nvmrc + cache: npm + - run: npm ci + - run: npm run docs:build + - uses: actions/upload-pages-artifact@v4 + if: github.event_name != 'pull_request' && github.ref == 'refs/heads/main' + with: + path: docs/.vitepress/dist + + deploy: + name: Publish documentation + if: github.event_name != 'pull_request' && github.ref == 'refs/heads/main' + needs: build + runs-on: ubuntu-latest + permissions: + pages: write + id-token: write + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + steps: + - uses: actions/configure-pages@v5 + - uses: actions/deploy-pages@v4 + id: deployment diff --git a/.github/workflows/real-javascript-recovery.yml b/.github/workflows/real-javascript-recovery.yml index df3f7edec..7076a29cd 100644 --- a/.github/workflows/real-javascript-recovery.yml +++ b/.github/workflows/real-javascript-recovery.yml @@ -5,10 +5,10 @@ on: paths: - ".github/workflows/real-javascript-recovery.yml" - "src/javascript/recovery/**" - - "src/domain/javascript*.ts" + - "src/domain/javascript/**" - "src/application/javascript/JavaScriptRecovery*.ts" - "src/composition/javascriptRecovery.ts" - - "src/contracts/javascriptRecoveryToolContracts.ts" + - "src/contracts/javascript/javascriptRecoveryToolContracts.ts" - "src/cli/javascriptRecoveryCommands.ts" - "src/cli/javascriptApplicationAnalysis.ts" - "src/server/registerJavaScriptRecoveryTool.ts" diff --git a/.github/workflows/website-pages.yml b/.github/workflows/website-pages.yml new file mode 100644 index 000000000..3967a89e4 --- /dev/null +++ b/.github/workflows/website-pages.yml @@ -0,0 +1,44 @@ +name: Publish REA website + +on: + workflow_dispatch: + +permissions: + contents: read + +concurrency: + group: website-pages + cancel-in-progress: false + +jobs: + prepare: + if: github.ref == 'refs/heads/main' + runs-on: ubuntu-latest + timeout-minutes: 5 + permissions: + contents: read + pages: read + steps: + - name: Check out the repository + uses: actions/checkout@v4 + - name: Configure Pages + uses: actions/configure-pages@v5 + - name: Upload the website + uses: actions/upload-pages-artifact@v4 + with: + path: website/public + + deploy: + needs: prepare + runs-on: ubuntu-latest + timeout-minutes: 5 + permissions: + pages: write + id-token: write + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + steps: + - name: Publish to GitHub Pages + id: deployment + uses: actions/deploy-pages@v4 diff --git a/.gitignore b/.gitignore index 8396bc653..e699d15fd 100644 --- a/.gitignore +++ b/.gitignore @@ -37,6 +37,7 @@ coverage/ test-results.xml .turbo/ .cache/ +docs/.vitepress/cache/ # OS .DS_Store diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 731cd2cdc..07b182bd2 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -26,6 +26,22 @@ worktrees. After a package, lockfile, or managed-skill version change, run Keep dependencies flowing inward through the existing domain, contracts, provider, application, server, and adapter layers. Parse unknown values at process and protocol boundaries, model expected failures with `Result`, and preserve the canonical tool inventory defined by `TOOL_CONTRACTS` unless a deliberate contract change updates every verifier, generated catalog artifact, and snapshot. Keep tool discovery complete and report capability- and session-scoped availability through `binary_session`. +## Documentation website + +The VitePress site uses the Markdown files in `docs/` and deploys to +. Run `npm run docs:dev` for live editing, +`npm run docs:build` to check the production build and links, and +`npm run docs:preview` to preview that build at `/rea/`. + +Site navigation lives in `docs/.vitepress/config.ts`. Keep links to guides +relative so they work on GitHub and the website; link to repository files +outside `docs/` using their full GitHub URLs. Generated reference documents +still use `npm run docs:generate`; `docs:build` only builds the website. + +The documentation workflow builds pull requests and deploys changes on `main`. +The repository's **Settings → Pages → Build and deployment → Source** must be +set to **GitHub Actions** before the first deployment. + ## Development feedback and PR verification For an ordinary edit, run the relevant regression and cached static checks: diff --git a/README.md b/README.md index 09d579a97..2bf765f54 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ morluto%2Frea | Trendshift -[Quick start](#quick-start) · [Current status](#current-status) · [Investigation model](#the-investigation-model) · [Tool catalog](#tool-catalog-for-investigation) · [Roadmap](#roadmap) · [How it works](#how-it-works) +[Documentation](https://morluto.github.io/rea/) · [Quick start](#quick-start) · [Current status](#current-status) · [Investigation model](#the-investigation-model) · [Tool catalog](#tool-catalog-for-investigation) · [Roadmap](#roadmap) · [How it works](#how-it-works) npx rea-agents setup @@ -163,7 +163,7 @@ Deep native binary analysis requires [Hopper](https://www.hopperapp.com/), [Ghid Firmware region inspection and explicit extraction use caller-supplied Binwalk and Unblob on Linux. See [Firmware analysis](docs/firmware-analysis.md) for setup, provenance, resource limits and native handoff. -Static APK analysis uses a separately supplied headless JADX JAR and Java, with no emulator or APK execution. See [Android analysis](docs/android-analysis.md) for setup, CLI/MCP operations, coverage and public test fixtures. Authenticated IPA inventory Evidence can be projected with [Apple application analysis](docs/apple-application-analysis.md). +Static APK analysis uses a separately supplied headless JADX JAR and a full JDK, with no emulator or APK execution. See [Android analysis](docs/android-analysis.md) for setup, CLI/MCP operations, coverage and public test fixtures. Authenticated IPA inventory Evidence can be projected with [Apple application analysis](docs/apple-application-analysis.md). Repository main and npm 4.1.0 include experimental Windows x64 Ghidra support for native x86-64 PE applications on local NTFS, with bundled Job Object, private-DACL, and path-admission controls. Check the [release boundary](docs/installation.md#released-package-and-main) before expecting this from an older npm package. See [Windows Ghidra P0](docs/windows-ghidra-p0.md) for prerequisites and verified scope. @@ -420,7 +420,7 @@ The public interface describes what the agent is trying to learn. Providers deci REA supports native application, JavaScript, Electron, .NET, and browser investigation on macOS and Linux. Individual tools have platform and runtime prerequisites. `rea capabilities` and `rea providers` describe the binary-session providers and auxiliary operations; they are not an inventory of every browser, Android, or application workflow. Use the connected MCP tool list and `binary_session` tool availability for the full MCP surface, and the relevant guide for each tool's prerequisites. Repository main can be ahead of [the npm release](docs/installation.md#released-package-and-main). -Static Android APK inspection is verified on Linux with headless JADX; see [Android analysis](docs/android-analysis.md) for its separate prerequisites and coverage. +Static Android APK inspection supports Linux and macOS; the current metadata bridge is verified on macOS arm64 with headless JADX; see [Android analysis](docs/android-analysis.md) for its separate prerequisites and coverage. - **Native binaries:** Open Mach-O, ELF, PE, and Mac `.app` targets through a selected deep provider. Hopper and Ghidra cover broad inventory and function analysis; the IDA adapter supplies its documented read-only function/string operations. Hopper also accepts `.hop` databases and supports annotations. - **Packages and resources:** Inspect directories, ZIP, APK, IPA, ASAR, plists, compiled Interface Builder files, and Apple asset catalogs. Artifact requests name the input and requested extraction or traversal directly; macOS DMG traversal also requires the host's native mounting support. diff --git a/bridge/android/ReaJadxBridge.java b/bridge/android/ReaJadxBridge.java new file mode 100644 index 000000000..51ac0f703 --- /dev/null +++ b/bridge/android/ReaJadxBridge.java @@ -0,0 +1,247 @@ +import com.atxx.jhmcp.*; +import com.google.gson.*; +import io.modelcontextprotocol.kotlin.sdk.server.*; +import io.modelcontextprotocol.kotlin.sdk.types.*; +import jadx.api.*; +import jadx.core.dex.nodes.*; +import java.io.PrintStream; +import java.util.*; +import java.util.concurrent.CountDownLatch; +import java.util.stream.Collectors; +import kotlin.Unit; +import kotlin.coroutines.EmptyCoroutineContext; +import kotlinx.coroutines.BuildersKt; +import kotlinx.io.CoreKt; +import kotlinx.io.JvmCoreKt; +import kotlinx.serialization.json.JsonObject; + +/** REA-owned metadata boundary for the unmodified jadx-headless-mcp 0.7.1 JAR. */ +class ReaJadxBridge { + private static final Gson JSON = new Gson(); + private final SessionHolder holder; + private JadxSession indexedSession; + private Map> classes = Map.of(); + + private record MethodSnapshot(String name, String shortId, Map summary) {} + private record ClassSnapshot(JavaClass node, List methods, Map summary) {} + + private ReaJadxBridge(SessionHolder holder) { this.holder = holder; } + + private static CallToolResult text(String value, boolean failed) { + return new CallToolResult(List.of(new TextContent(value, null, null)), failed, null, null); + } + + private static CallToolResult json(Object value) { return text(JSON.toJson(value), false); } + + private static String string(JsonObject args, String name) { + JsonElement value = JsonParser.parseString(args.toString()).getAsJsonObject().get(name); + if (value == null || !value.isJsonPrimitive() || !value.getAsJsonPrimitive().isString()) + throw new IllegalArgumentException(name + " must be a string"); + return value.getAsString(); + } + + private static int integer(JsonObject args, String name, int fallback) { + JsonElement value = JsonParser.parseString(args.toString()).getAsJsonObject().get(name); + if (value == null) return fallback; + if (!value.isJsonPrimitive() || !value.getAsJsonPrimitive().isNumber()) + throw new IllegalArgumentException(name + " must be a nonnegative integer"); + try { + int result = value.getAsBigDecimal().intValueExact(); + if (result < 0) throw new ArithmeticException(); + return result; + } catch (ArithmeticException error) { + throw new IllegalArgumentException(name + " must be a nonnegative integer", error); + } + } + + private JadxSession session() { + JadxSession current = holder.current(); + if (current == null) throw new IllegalArgumentException("No APK loaded"); + return current; + } + + private ClassSnapshot selected(JsonObject args) { + JadxSession current = session(); + if (indexedSession != current) { + Map> index = new LinkedHashMap<>(); + if (!current.getClasses().isEmpty()) { + JadxDecompiler decompiler = current.getClasses().get(0).getClassNode().root().getDecompiler(); + // JavaClass.getMethods/getFields/getInnerClasses all load code. Raw nodes do not. + // Snapshot every identity before code generation can rewrite aliases or members. + for (JavaClass cls : decompiler.getClassesWithInners()) { + ClassNode node = cls.getClassNode(); + List ordered = new ArrayList<>(node.getMethods()); + ordered.sort(Comparator.comparing(MethodNode::getAlias)); + List methods = ordered.stream().map(method -> { + String name = method.getAlias(); + String signature = name + "(" + method.getArgTypes().stream() + .map(Object::toString).collect(Collectors.joining(", ")) + + "): " + method.getReturnType().toString(); + return new MethodSnapshot(name, method.getMethodInfo().getShortId(), Map.of( + "name", name, "signature", signature, + "is_constructor", method.isConstructor(), "def_pos", 0)); + }).toList(); + List> fields = node.getFields().stream() + .sorted(Comparator.comparing(FieldNode::getAlias)) + .map(field -> Map.of("name", field.getAlias(), + "type", field.getType().toString(), "def_pos", 0)).toList(); + List inner = node.getInnerClasses().stream().map(ClassNode::getFullName).toList(); + Map summary = Map.of( + "full_name", cls.getFullName(), "name", cls.getName(), + "method_count", methods.size(), "field_count", fields.size(), + "inner_class_count", inner.size(), "inner_classes", inner, + "methods", methods.stream().map(MethodSnapshot::summary).toList(), "fields", fields); + index.computeIfAbsent(cls.getFullName(), ignored -> new ArrayList<>()) + .add(new ClassSnapshot(cls, methods, summary)); + } + } + classes = Collections.unmodifiableMap(index); + indexedSession = current; + } + String name = string(args, "class_name"); + List candidates = classes.get(name); + if (candidates == null) throw new IllegalArgumentException("Exact class not found: " + name); + if (candidates.size() != 1) throw new IllegalArgumentException("Ambiguous metadata class identity: " + name + + "; raw identities: " + candidates.stream().map(candidate -> candidate.node().getRawName()).toList()); + return candidates.get(0); + } + + private List methods(ClassSnapshot cls, JsonObject args) { + String name = string(args, "method_name"); + List result = cls.methods().stream().filter(method -> method.name().equals(name)).toList(); + if (result.isEmpty()) throw new IllegalArgumentException("Method not found: " + name); + return result; + } + + private JavaMethod method(ClassSnapshot cls, MethodSnapshot selected) { + JavaMethod result = cls.node().searchMethodByShortId(selected.shortId()); + if (result == null) throw new IllegalArgumentException("Method identity no longer available: " + selected.shortId()); + return result; + } + + private CallToolResult handle(String name, JsonObject args) { + if (name.equals("rea_jvm_status")) return json(Map.of( + "engine_reported_version", BuildInfo.VERSION, + "max_heap_bytes", Runtime.getRuntime().maxMemory(), + "available_processors", Runtime.getRuntime().availableProcessors(), + "java_version", System.getProperty("java.version"), + "metadata_scope", "parsed_members")); + JadxSession current = session(); + if (name.equals("list_classes")) { + List names = current.getClassFqns(); + int offset = integer(args, "offset", 0); + int limit = integer(args, "limit", 200); + int start = Math.min(offset, names.size()); + int end = (int) Math.min((long) start + limit, names.size()); + return json(Map.of("total", names.size(), "offset", offset, "limit", limit, + "items", names.subList(start, end))); + } + ClassSnapshot cls = selected(args); + if (name.equals("get_class_summary")) return json(cls.summary()); + if (name.equals("get_method_body")) { + List overloads = methods(cls, args); + int index = integer(args, "overload_index", 0); + if (index >= overloads.size()) throw new IllegalArgumentException("overload_index out of range: " + index); + JavaMethod method = method(cls, overloads.get(index)); + JadxSession.SmartCode code = current.getMethodBodySmart(method, current.getMaxSourceBytes(), true); + return json(Map.of("class_name", cls.summary().get("full_name"), + "method_name", overloads.get(index).name(), "full_name", method.getFullName(), + "overload_index", index, "overload_count", overloads.size(), + "mode", code.getKind(), "fell_back", code.getFellBack(), + "markers", code.getMarkers(), "body", code.getText())); + } + List uses; + String target = string(args, "class_name"); + if (name.equals("get_xrefs_to_class")) uses = cls.node().getUseIn(); + else { + List overloads = methods(cls, args); + if (overloads.size() != 1) throw new IllegalArgumentException("Method references require a unique overload"); + target += "." + overloads.get(0).name(); + uses = method(cls, overloads.get(0)).getUseIn(); + } + // REA consumes all references without materializing source line information. + List> items = uses.stream().map(node -> current.describeUsage(node, false)).toList(); + return json(Map.of("target", target, "total", uses.size(), "count", items.size(), + "resolve_line", false, "items", items)); + } + + public static void main(String[] args) throws Exception { + PrintStream protocolOut = System.out; + System.setOut(System.err); + SessionHolder holder = new SessionHolder(new SessionConfig( + 1048576, 0, 90000L, 1, List.of(), List.of(), 64, ResourceMode.FULL)); + ServerCapabilities capabilities = new ServerCapabilities( + new ServerCapabilities.Tools(null), null, null, null, null, null, null, Map.of()); + Server server = new Server(new Implementation("rea-jadx-bridge", "1", null, null, null), + new ServerOptions(capabilities), "", ignored -> Unit.INSTANCE); + SessionToolsKt.registerSessionTools(server, holder); + ManifestToolsKt.registerManifestTools(server, holder); + ClassToolsKt.registerClassTools(server, holder); + MethodToolsKt.registerMethodTools(server, holder); + XrefToolsKt.registerXrefTools(server, holder); + ReaJadxBridge bridge = new ReaJadxBridge(holder); + Set consumed = Set.of("load_apk", "get_app_info", "get_android_manifest", + "list_classes", "get_class_summary", "get_method_body", + "get_xrefs_to_class", "get_xrefs_to_method"); + for (String name : new ArrayList<>(server.getTools().keySet())) + if (!consumed.contains(name)) server.removeTool(name); + Tool diagnostics = new Tool("rea_jvm_status", + new ToolSchema(null, new JsonObject(Map.of()), List.of(), null), + "Observed worker JVM and metadata scope", null, null, null, null, null, null); + server.addTool(diagnostics, (connection, request, continuation) -> bridge.handle("rea_jvm_status", request.getArguments())); + for (String name : List.of("list_classes", "get_class_summary", + "get_method_body", "get_xrefs_to_class", "get_xrefs_to_method")) { + Tool tool = server.getTools().get(name).getTool(); + server.removeTool(name); + List fields = switch (name) { + case "list_classes" -> List.of("offset", "limit"); + case "get_method_body" -> List.of("class_name", "method_name", "overload_index"); + case "get_xrefs_to_method" -> List.of("class_name", "method_name"); + default -> List.of("class_name"); + }; + Map properties = new LinkedHashMap<>(); + for (String field : fields) properties.put(field, tool.getInputSchema().getProperties().get(field)); + String description = switch (name) { + case "list_classes" -> "Indexed pages of all top-level class names, with offset and limit."; + case "get_class_summary" -> "Parsed member metadata for one exact class name; no source generation."; + case "get_method_body" -> "Source for an exact class and stable same-name overload index, with smali fallback."; + default -> "Complete static references to an exact class or unique method; source lines are unresolved."; + }; + Tool narrowed = new Tool(name, new ToolSchema(null, new JsonObject(properties), + tool.getInputSchema().getRequired(), null), description, null, null, null, null, null, null); + server.addTool(narrowed, (connection, request, continuation) -> { + try { return bridge.handle(name, request.getArguments()); } + catch (IllegalArgumentException error) { return text(error.getMessage(), true); } + }); + } + CountDownLatch done = new CountDownLatch(1); + server.onClose(() -> { done.countDown(); return Unit.INSTANCE; }); + StdioServerTransport transport = new StdioServerTransport( + CoreKt.buffered(JvmCoreKt.asSource(System.in)), + CoreKt.buffered(JvmCoreKt.asSink(protocolOut))); + transport.onClose(() -> { done.countDown(); return Unit.INSTANCE; }); + ServerSession connection = null; + try { + connection = BuildersKt.runBlocking(EmptyCoroutineContext.INSTANCE, + (scope, continuation) -> server.createSession(transport, continuation)); + done.await(); + } finally { + try { + if (connection != null) { + ServerSession connected = connection; + // Unsubscribe the connection before the SDK joins its notification service. + BuildersKt.runBlocking(EmptyCoroutineContext.INSTANCE, + (scope, continuation) -> connected.close(continuation)); + } + } finally { + try { + BuildersKt.runBlocking(EmptyCoroutineContext.INSTANCE, + (scope, continuation) -> server.close(continuation)); + } finally { + BuildersKt.runBlocking(EmptyCoroutineContext.INSTANCE, + (scope, continuation) -> holder.unload(continuation)); + } + } + } + } +} diff --git a/docs/.vitepress/config.ts b/docs/.vitepress/config.ts new file mode 100644 index 000000000..8d25bfc85 --- /dev/null +++ b/docs/.vitepress/config.ts @@ -0,0 +1,83 @@ +import { defineConfig } from "vitepress"; + +export default defineConfig({ + title: "REA", + description: + "Reverse engineer binaries, applications, and runtime behavior with one CLI and MCP server.", + lang: "en-US", + base: "/rea/", + themeConfig: { + nav: [ + { text: "Get started", link: "/installation" }, + { text: "Reference", link: "/mcp-contracts" }, + { text: "Roadmap", link: "/roadmap" }, + ], + sidebar: [ + { + text: "Getting started", + items: [ + { text: "Installation and setup", link: "/installation" }, + { text: "Agent prompts", link: "/mcp-prompts" }, + { text: "Roadmap", link: "/roadmap" }, + ], + }, + { + text: "Investigation guides", + items: [ + { text: "Native binaries", link: "/native-investigation" }, + { + text: "JavaScript and Electron", + link: "/javascript-artifact-reconstruction", + }, + { + text: "JavaScript workflows", + link: "/javascript-application-workflows", + }, + { text: "Browser observation", link: "/browser-observation" }, + { text: "Electron observation", link: "/electron-observation" }, + { text: "Process capture", link: "/process-capture" }, + { text: ".NET assemblies", link: "/managed-code-analysis" }, + { text: "Android applications", link: "/android-analysis" }, + { text: "Apple applications", link: "/apple-application-analysis" }, + { text: "Firmware", link: "/firmware-analysis" }, + { + text: "Reconstruction readiness", + link: "/reconstruction-readiness", + }, + ], + }, + { + text: "Provider guides", + collapsed: true, + items: [ + { text: "IDA", link: "/ida-provider" }, + { text: "Ghidra on Windows", link: "/windows-ghidra-p0" }, + { text: "Ghidra DOS analysis", link: "/ghidra-dos" }, + { text: "Ghidra NativeAOT", link: "/ghidra-nativeaot" }, + { text: "Provider evaluation", link: "/provider-evaluation" }, + ], + }, + { + text: "Reference and development", + collapsed: true, + items: [ + { text: "MCP contracts", link: "/mcp-contracts" }, + { text: "Tool design", link: "/tool-design" }, + { text: "Testing", link: "/testing" }, + { text: "Architecture decisions", link: "/adr/README" }, + ], + }, + ], + search: { provider: "local" }, + socialLinks: [ + { icon: "github", link: "https://github.com/morluto/rea" }, + { icon: "discord", link: "https://discord.gg/GkcryMnJDM" }, + ], + editLink: { + pattern: "https://github.com/morluto/rea/edit/main/docs/:path", + }, + footer: { + message: "Released under the MIT License.", + }, + }, +}); diff --git a/docs/adr/0001-provider-selection-and-analysis-profiles.md b/docs/adr/0001-provider-selection-and-analysis-profiles.md index 9430f1d8e..dfcc7f86a 100644 --- a/docs/adr/0001-provider-selection-and-analysis-profiles.md +++ b/docs/adr/0001-provider-selection-and-analysis-profiles.md @@ -29,12 +29,12 @@ same bytes could therefore disagree because of language, compiler, loader, analyzer, or provider-version differences while appearing target-compatible. The decision addressed the earlier representations of -[`CompositeProvider`](../../src/application/binary/CompositeProvider.ts), -[runtime composition](../../src/application/runtime.ts), -[`BinarySession`](../../src/application/binary/BinarySession.ts), -[`BinaryTarget`](../../src/domain/binaryTarget.ts), -[analysis snapshot](../../src/domain/analysisSnapshot.ts), and -[session lifecycle inputs](../../src/contracts/sessionLifecycleInputs.ts). +[`CompositeProvider`](https://github.com/morluto/rea/blob/main/src/application/binary/CompositeProvider.ts), +[runtime composition](https://github.com/morluto/rea/blob/main/src/application/runtime.ts), +[`BinarySession`](https://github.com/morluto/rea/blob/main/src/application/binary/BinarySession.ts), +[`BinaryTarget`](https://github.com/morluto/rea/blob/main/src/domain/binaryTarget.ts), +[analysis snapshot](https://github.com/morluto/rea/blob/main/src/domain/analysisSnapshot.ts), and +[session lifecycle inputs](https://github.com/morluto/rea/blob/main/src/contracts/sessionLifecycleInputs.ts). The next deep provider must not weaken the existing product invariants: diff --git a/docs/android-analysis.md b/docs/android-analysis.md index 4d6a69d00..a1f6d27a9 100644 --- a/docs/android-analysis.md +++ b/docs/android-analysis.md @@ -2,7 +2,7 @@ REA wraps an existing headless JADX engine through `src/android/`. Its source is kept as an unmodified, commit-pinned Git submodule; see -[upstream provenance](../third_party/README.md). CLI and MCP use the same +[upstream provenance](https://github.com/morluto/rea/blob/main/third_party/README.md). CLI and MCP use the same application workflow and return artifact-bound Evidence inline. This family is present on repository main and in npm 4.1.0. Check the @@ -11,7 +11,9 @@ connected server's tool list before selecting it. ## Supply tools -Use **Java 17 or newer** and **jadx-headless-mcp 0.7.1**. REA does not install Java, +Use a **full JDK 17 or newer** (including its compiler module) and +**jadx-headless-mcp 0.7.1**. REA runs its packaged Java metadata bridge in +source-file mode against the unmodified engine JAR. REA does not install Java, an Android SDK, JADX, a device service or an emulator. Set the path in the shell or MCP server environment: @@ -21,8 +23,9 @@ export REA_JADX_MCP_JAR=/absolute/path/jadx-headless-mcp-0.7.1-all.jar export JAVA_HOME=/absolute/path/existing-jdk ``` -Linux is verified with the public Appium ApiDemos fixture. The POSIX adapter can -run on macOS, but that host has not undergone real Android verification. +The current metadata bridge is verified on macOS arm64 with OpenJDK 21 and the +public Appium ApiDemos fixture. The POSIX adapter also supports Linux; the new +bridge has not yet undergone real verification on Linux/JDK 25. Windows is unsupported for this provider's owned stdio process boundary. ## Answer an analyst question @@ -72,7 +75,10 @@ selected overload. Native/abstract methods with no decompiled body report Signature verification is explicitly `not_performed`. - Class search consumes all pages and checks their counts. An empty `query` inventories all class names; class names are decompiler representations. -- Class inventories return display signatures, fields and inner class names. +- Class inventories read parsed metadata without generating source and return + full reported display types, fields and inner class names. Synthetic members + that code generation hides can appear in the inventory; it stays consistent + after method decompilation within the retained session. Exact DEX descriptors are unknown. Overload indices are tied to this artifact and engine, not stable identities across different builds. - Method inspection reports Java or smali, fallback markers and complete/partial @@ -109,23 +115,48 @@ runtime calls. ## Resource and lifecycle limits -Each request creates private, immutable APK and JAR copies. Their workspace and -owned process group are cleaned on success, failure, timeout and cancellation. +REA retains one serialized session with private, immutable APK, engine JAR and +metadata-bridge copies. Matching requests reuse the loaded engine. APK/engine +digests and JVM configuration are checked before reuse; changed inputs retire +the previous session. Sessions are cleaned after 60 seconds of inactivity, on +target/configuration changes, failure, timeout, cancellation, MCP disconnect or +server shutdown. One-shot CLI commands always join cleanup before returning. REA never writes to the original APK or launches target code. If process cleanup cannot be confirmed, REA retains the workspace and reports its location. That provider instance blocks subsequent engine launches until the caller resolves the reported resources and starts a fresh instance. -The provider serializes requests within each REA instance, uses one worker and -sets JVM maximum heap to **512 MiB**. Heap is not a total RSS cap: the JVM also +The provider uses one JADX analysis worker independently of JVM processor and +garbage-collector settings. REA supplies no default heap or visible-CPU override; +Java uses its normal ergonomics and inherits caller JVM settings. Optional +provider settings add explicit JVM arguments: + +```sh +export REA_JADX_HEAP_MIB=8192 +# Optional, independent of the single JADX worker: +export REA_JADX_ACTIVE_PROCESSOR_COUNT=4 +# Or select settings through Java's standard environment options: +export JAVA_TOOL_OPTIONS=-Xmx8g +``` + +Both REA settings must be positive safe integers; processor counts must also fit +the JVM's signed 32-bit range. REA preserves +`JAVA_TOOL_OPTIONS`, `JDK_JAVA_OPTIONS` and `_JAVA_OPTIONS` rather than replacing +them. Java's standard precedence applies: explicit command-line heap settings +override `JAVA_TOOL_OPTIONS`, while `_JAVA_OPTIONS` can override command-line +settings. Evidence reports the worker's observed `Runtime.maxMemory()` rounded +down to MiB and retains exact bytes, Java version and visible processors in its +raw runtime response. The observed allocatable heap can differ from configured +`-Xmx`, especially with Serial GC. Heap is not a total RSS cap: the JVM also uses native memory. Independent REA instances have independent queues. Whole operations have a **120-second** execution deadline after reaching the queue's front; upstream decompilation is limited to **90 seconds**. Decoded manifest and method text have a **1 MiB** upstream byte budget and report -truncation. A protocol frame above **8 MiB**, or cumulative stdout/stderr above -**32 MiB**, fails with a diagnostic instead of returning an incomplete inventory +truncation. Class-name pages use indexed slices of up to 4,096 names without changing the +complete, case-sensitive search contract. A protocol frame above **8 MiB**, or combined stdout/stderr above +**32 MiB per operation**, fails with a diagnostic instead of returning an incomplete inventory as complete. These are memory-safety boundaries, not undocumented result caps. ## Real verification diff --git a/docs/capability-migration.md b/docs/capability-migration.md index dd8acb47c..4e4960fb4 100644 --- a/docs/capability-migration.md +++ b/docs/capability-migration.md @@ -255,6 +255,21 @@ analysis and public schemas keep their existing domain/contract ownership; shared artifact inventory, investigation records and execution types remain shared. CLI, MCP and production factories import the owning workflow directly. +`src/domain/javascript/` owns static parsing and semantic IR, application and +semantic graphs, Electron facts, runtime reconciliation, recovery result +semantics, and source-to-bundle comparisons. Shared Evidence, digests, ordering, +comparison semantics and historical-source graphs stay at their existing owners. +Native handoffs link exact-subject Evidence without selecting or executing a +provider. + +`src/contracts/javascript/` owns the JavaScript/Electron observation and recovery +contracts, JavaScript-specific workflow requests, and their examples. The shared +`applicationToolContracts.ts` aggregate stays at the contract root because it also +owns reconstruction and Android/Apple projection operations. Canonical tool +aggregation, named handler binding and SDK schema presentation remain unchanged. +Catalog source paths, compiled verifier/SDK fixtures and recovery CI filters +follow the domain/contract owners. + `scripts/verify/javascript/` groups application-workflow, runtime-reconciliation, large-digest and real-recovery entrypoints. Their existing npm commands retain their invocation semantics. Recovery fixture compilation lives beside its diff --git a/docs/firmware-analysis.md b/docs/firmware-analysis.md index b585affd8..1796ef43a 100644 --- a/docs/firmware-analysis.md +++ b/docs/firmware-analysis.md @@ -38,7 +38,7 @@ git submodule update --init third_party/binwalk third_party/unblob ``` Normal REA builds and npm packages do not include or build these sources or -engine binaries. See [upstream provenance](../third_party/README.md). +engine binaries. See [upstream provenance](https://github.com/morluto/rea/blob/main/third_party/README.md). ## CLI and MCP diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 000000000..42ae8f680 --- /dev/null +++ b/docs/index.md @@ -0,0 +1,46 @@ +--- +layout: home + +hero: + name: REA + text: Reverse Engineer Anything + tagline: Understand binaries, applications, and runtime behavior with one CLI and MCP server. + actions: + - theme: brand + text: Get started + link: /installation + - theme: alt + text: View on GitHub + link: https://github.com/morluto/rea + +features: + - title: Investigate with your agent + details: Connect REA to your coding agent, describe the app or feature you want to understand, and follow the evidence. + link: /mcp-prompts + - title: Inspect across formats + details: Explore native binaries, JavaScript and Electron apps, .NET assemblies, Android packages, firmware, and websites. + link: /installation + - title: Keep the evidence + details: Analysis runs locally and returns observations, limitations, and unknowns through the CLI and MCP. + link: /mcp-contracts +--- + +## Start with one command + +```bash +npx rea-agents setup +``` + +Choose your agent, review the planned changes, and approve setup. Native binary +analysis can use an existing Hopper, Ghidra, or IDA installation; static +JavaScript analysis needs no native analysis engine. + +For a first result from an extracted JavaScript application or ASAR: + +```bash +npx -y rea-agents@latest analyze-javascript-application /absolute/path/to/app --json +``` + +See [installation and setup](./installation.md) for requirements and configuration. + +![REA inspecting a native binary in Hopper](./assets/rea-hopper-analysis.png) diff --git a/docs/installation.md b/docs/installation.md index 231d7c22d..9caa72c65 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -90,7 +90,7 @@ npx skills add morluto/rea --skill reverse-engineer-anything This installs agent instructions and bundled references, not REA MCP registration or analysis engines. Follow the skill's -[conditional connection guide](../skills/reverse-engineer-anything/SKILL.md#connect-only-when-needed). +[conditional connection guide](https://github.com/morluto/rea/blob/main/skills/reverse-engineer-anything/SKILL.md#connect-only-when-needed). Working tools can be used immediately. If tools are missing, inspect the current client's registration with `doctor --client codex --json` (substitute its client ID), then plan repairs with `setup --client codex --dry-run --json`. Show and @@ -110,7 +110,7 @@ npx -y rea-agents@latest analyze-javascript-application /absolute/path/to/app -- It returns the complete Evidence record directly and requires no native engine. Provider failures in doctor do not prevent unrelated target-free tools. To check readiness for one task instead of auditing every integration, see -[Check readiness for the task at hand](../README.md#check-readiness-for-the-task-at-hand). +[Check readiness for the task at hand](https://github.com/morluto/rea/blob/main/README.md#check-readiness-for-the-task-at-hand). ## Supported agents diff --git a/docs/managed-code-analysis.md b/docs/managed-code-analysis.md index 13bdd7bfd..2b7cd745f 100644 --- a/docs/managed-code-analysis.md +++ b/docs/managed-code-analysis.md @@ -25,7 +25,7 @@ part of the current tool set. This guide describes the implementation and verification of [ADR-0003](adr/0003-managed-code-evidence-and-provider-boundary.md). The canonical -tool inventory is [`product-catalog.json`](product-catalog.json). +tool inventory is [`product-catalog.json`](https://github.com/morluto/rea/blob/main/docs/product-catalog.json). ## Shipped scope diff --git a/docs/native-investigation.md b/docs/native-investigation.md index 9fc7e6043..01aaa83c5 100644 --- a/docs/native-investigation.md +++ b/docs/native-investigation.md @@ -30,8 +30,8 @@ explicit limitation; architecture inventory locations remain available. connections and controller/class names. `verify:interface-builder` compiles a source-owned AppKit XIB with `ibtool`. Storyboards require an installed iOS platform; unsupported archive forms remain explicit. -- `inspect_native_dispatch_metadata` / `rea inspect-native-dispatch-metadata - ` prefers a validated macOS Mach-O byte reader. It decodes +- `inspect_native_dispatch_metadata` / + `rea inspect-native-dispatch-metadata ` prefers a validated macOS Mach-O byte reader. It decodes 64-bit little-endian Objective-C class/metaclass records, superclass pointers, absolute/relative method entries, ivar offsets/sizes/alignment and protocol declarations. It also decodes simple Swift conformances, static synchronous diff --git a/docs/product-catalog.json b/docs/product-catalog.json index 8812487ea..3f9e12451 100644 --- a/docs/product-catalog.json +++ b/docs/product-catalog.json @@ -669,9 +669,9 @@ "mcp_prompts": 6 }, "digests": { - "tools_sha256": "94e0975448095b83c21e5129e5ecb905baf5962e254fe748bf81fac7d904b0bb", + "tools_sha256": "daccefdcf1dee770d0901a557d6afb8828ea9b9161f1fce896dbb5489ff7779d", "prompts_sha256": "ef2de8814390b340623c32001610aa2709d90bed51537b6e562ab3abf144ab4d", - "combined_sha256": "ed73c7223190ce24d345afd05c3d7f2d00ed02a8f95590363d336fda12540995", + "combined_sha256": "2b780592f00bd9bb79650a0ded8a034e2946fccef535343d935841dd42637c4b", "providers_sha256": "a7d885531ee25d42c51385444faec544d34cd7eba6250a7dc75c4faedd4454a3" } } diff --git a/docs/verification/managed-conformance-manifest.json b/docs/verification/managed-conformance-manifest.json index c5e216681..1689bd1a1 100644 --- a/docs/verification/managed-conformance-manifest.json +++ b/docs/verification/managed-conformance-manifest.json @@ -1,5 +1,5 @@ { - "manifest_id": "ecm_9a449012ad11b5b99a59d1364d54e6670811fea40bde1ed45c3acd84bde42891", + "manifest_id": "ecm_51967090044994ae062dd96dd2e6bdf7c5a589ffaa1de3c13833bf6cce3914f4", "verifier": { "id": "rea-managed-conformance", "version": "1" @@ -13,7 +13,7 @@ "skill_digests": [ { "skill_id": "reverse-engineer-anything", - "sha256": "45744589636182fe804fdc5a2db9ea8557d0dbba9de5607fbfa4ef783693fa8e" + "sha256": "36782d5c8183a2e3dcbed8065cf41c1c296be6ba0d4afe3a58f000013b6fa5bb" } ], "claims": [ diff --git a/docs/windows-ghidra-p0.md b/docs/windows-ghidra-p0.md index 676107072..f837bae09 100644 --- a/docs/windows-ghidra-p0.md +++ b/docs/windows-ghidra-p0.md @@ -148,7 +148,7 @@ private runtime files; crash-time transactional deletion is not claimed. ## Verification -See [native controls](../native/windows/README.md) for the separate artifact +See [native controls](https://github.com/morluto/rea/blob/main/native/windows/README.md) for the separate artifact build lane and native boundary checks. Development tarballs without the built artifact report native controls unavailable; publishing requires the verified artifact and manifest. diff --git a/knip.json b/knip.json index c1b3d14b2..9ce07cf8e 100644 --- a/knip.json +++ b/knip.json @@ -2,6 +2,9 @@ "$schema": "./node_modules/knip/schema.json", "entry": ["src/main.ts", "src/cli.ts", "src/contracts/errorSchemas.ts"], "project": ["src/**/*.ts", "tests/**/*.ts", "scripts/**/*.mjs"], + "vitepress": { + "entry": ["docs/.vitepress/config.ts"] + }, "ignoreDependencies": ["electron", "esbuild", "webpack"], "ignoreExportsUsedInFile": true, "rules": { diff --git a/package-lock.json b/package-lock.json index 75bf41da3..f1c2520dc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -57,6 +57,7 @@ "oxlint": "1.87.0", "turbo": "2.11.7", "typescript": "7.0.2", + "vitepress": "1.6.4", "vitest": "5.0.3", "yaml": "2.9.0" }, @@ -64,6 +65,264 @@ "node": "^22.19.0 || ^24.11.0 || >=26.0.0" } }, + "node_modules/@algolia/abtesting": { + "version": "1.25.0", + "resolved": "https://registry.npmjs.org/@algolia/abtesting/-/abtesting-1.25.0.tgz", + "integrity": "sha512-rSTin9Uta23uaewYVQEp8XI9T3iA/zrg0/1G2vhf8oFFDxFL5vybnZ5IQwsVAg4JpKxPX4/WYNKdcfWrZymk7w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.59.0", + "@algolia/requester-browser-xhr": "5.59.0", + "@algolia/requester-fetch": "5.59.0", + "@algolia/requester-node-http": "5.59.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/autocomplete-core": { + "version": "1.17.7", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.17.7.tgz", + "integrity": "sha512-BjiPOW6ks90UKl7TwMv7oNQMnzU+t/wk9mgIDi6b1tXpUek7MW0lbNOUHpvam9pe3lVCf4xPFT+lK7s+e+fs7Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/autocomplete-plugin-algolia-insights": "1.17.7", + "@algolia/autocomplete-shared": "1.17.7" + } + }, + "node_modules/@algolia/autocomplete-plugin-algolia-insights": { + "version": "1.17.7", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.17.7.tgz", + "integrity": "sha512-Jca5Ude6yUOuyzjnz57og7Et3aXjbwCSDf/8onLHSQgw1qW3ALl9mrMWaXb5FmPVkV3EtkD2F/+NkT6VHyPu9A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/autocomplete-shared": "1.17.7" + }, + "peerDependencies": { + "search-insights": ">= 1 < 3" + } + }, + "node_modules/@algolia/autocomplete-preset-algolia": { + "version": "1.17.7", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.17.7.tgz", + "integrity": "sha512-ggOQ950+nwbWROq2MOCIL71RE0DdQZsceqrg32UqnhDz8FlO9rL8ONHNsI2R1MH0tkgVIDKI/D0sMiUchsFdWA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/autocomplete-shared": "1.17.7" + }, + "peerDependencies": { + "@algolia/client-search": ">= 4.9.1 < 6", + "algoliasearch": ">= 4.9.1 < 6" + } + }, + "node_modules/@algolia/autocomplete-shared": { + "version": "1.17.7", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.17.7.tgz", + "integrity": "sha512-o/1Vurr42U/qskRSuhBH+VKxMvkkUVTLU6WZQr+L5lGZZLYWyhdzWjW0iGXY7EkwRTjBqvN2EsR81yCTGV/kmg==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "@algolia/client-search": ">= 4.9.1 < 6", + "algoliasearch": ">= 4.9.1 < 6" + } + }, + "node_modules/@algolia/client-abtesting": { + "version": "5.59.0", + "resolved": "https://registry.npmjs.org/@algolia/client-abtesting/-/client-abtesting-5.59.0.tgz", + "integrity": "sha512-bm2XN0hCSMYwStSsCBT0/PUB2BDxoyR1Lnub3c392HMEy9bi8PUSW8vR6zltVEKWG2t4PQFWMD5C07bmJxGgPg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.59.0", + "@algolia/requester-browser-xhr": "5.59.0", + "@algolia/requester-fetch": "5.59.0", + "@algolia/requester-node-http": "5.59.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-analytics": { + "version": "5.59.0", + "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-5.59.0.tgz", + "integrity": "sha512-XOFPOTa69WuqHR6c5tMgnUUwwqQgNSzMpxmhrgA9KmxRf8WIqEa0cokHJvohk5CYb7CZx0xeSL6Bk2IUJ7Lv7Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.59.0", + "@algolia/requester-browser-xhr": "5.59.0", + "@algolia/requester-fetch": "5.59.0", + "@algolia/requester-node-http": "5.59.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-common": { + "version": "5.59.0", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-5.59.0.tgz", + "integrity": "sha512-PC8ipLOYFKRTfIUY1J3FJxS6ryzWziaXmIX9/sNMoUR8L+XhF7hX2QAeUI87YVl5zujvlYTSOb+HAIqKXDjyHQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-insights": { + "version": "5.59.0", + "resolved": "https://registry.npmjs.org/@algolia/client-insights/-/client-insights-5.59.0.tgz", + "integrity": "sha512-yFNcCMM5fHiyoR0HuxMrzy+VjDcmhFUZTm2IJ2DHwGsVH3B5SEob4zTmeEZ3j/AZqNnmrJOCKl/tJnBg7+84bA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.59.0", + "@algolia/requester-browser-xhr": "5.59.0", + "@algolia/requester-fetch": "5.59.0", + "@algolia/requester-node-http": "5.59.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-personalization": { + "version": "5.59.0", + "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-5.59.0.tgz", + "integrity": "sha512-GYja6HkDt2VrQhWmB2cLx3Z5fDwI9no7q+xwCWcFrTPm5CLH9QZvK0XLO9co1FcNIDxxkMaP3AXM39/XcecEOg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.59.0", + "@algolia/requester-browser-xhr": "5.59.0", + "@algolia/requester-fetch": "5.59.0", + "@algolia/requester-node-http": "5.59.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-query-suggestions": { + "version": "5.59.0", + "resolved": "https://registry.npmjs.org/@algolia/client-query-suggestions/-/client-query-suggestions-5.59.0.tgz", + "integrity": "sha512-Wofg7bMpWh8N5qDDZs0wy6whc+KMmdNsxgrIGp9Ug2s1Bka0uq7AjyckdxReKPHLA0Q1qH8X/SNh0wn2t2X2Lw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.59.0", + "@algolia/requester-browser-xhr": "5.59.0", + "@algolia/requester-fetch": "5.59.0", + "@algolia/requester-node-http": "5.59.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-search": { + "version": "5.59.0", + "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-5.59.0.tgz", + "integrity": "sha512-fHnALZfbEnODczGk14Y/1YBRApp6UEpZUTexGcMUPzY7RDc7q4HN2Y6jh0KUG8Jo9B+q+wOoQEc3ziR0ErbuFg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.59.0", + "@algolia/requester-browser-xhr": "5.59.0", + "@algolia/requester-fetch": "5.59.0", + "@algolia/requester-node-http": "5.59.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/ingestion": { + "version": "1.59.0", + "resolved": "https://registry.npmjs.org/@algolia/ingestion/-/ingestion-1.59.0.tgz", + "integrity": "sha512-Fa38s1mHgoaLCT117sfJ6P78rtxUt93CYxBYpq1VOIcslaF+cH+1h5uikAPsKfxLnsuEDZHiBiaI6eNPTsQMRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.59.0", + "@algolia/requester-browser-xhr": "5.59.0", + "@algolia/requester-fetch": "5.59.0", + "@algolia/requester-node-http": "5.59.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/monitoring": { + "version": "1.59.0", + "resolved": "https://registry.npmjs.org/@algolia/monitoring/-/monitoring-1.59.0.tgz", + "integrity": "sha512-NyNsRSqM2tF1MX7ZGw/j4rduoEJiQ5wfvbSo/CFVdEzYCjyxbGFRPOZyS/GETJG9rk1TdHOq8NZqKqk/u1fm4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.59.0", + "@algolia/requester-browser-xhr": "5.59.0", + "@algolia/requester-fetch": "5.59.0", + "@algolia/requester-node-http": "5.59.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/recommend": { + "version": "5.59.0", + "resolved": "https://registry.npmjs.org/@algolia/recommend/-/recommend-5.59.0.tgz", + "integrity": "sha512-nXBK2uygWtvbCOffMWqqfjjcEtp9enDKY5/2Pw/Hhw8VVaOyK2ThbGK04bNX/Le+qoK1VHYkodWGVTKfw0Otkw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.59.0", + "@algolia/requester-browser-xhr": "5.59.0", + "@algolia/requester-fetch": "5.59.0", + "@algolia/requester-node-http": "5.59.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/requester-browser-xhr": { + "version": "5.59.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-5.59.0.tgz", + "integrity": "sha512-yb+4afX/zja8QwX0KmV4/ae2kyYkRknsE79CRusYS2U5D8qwn2wq0cn1x12f3tm3F3+5FgmDdbuGdQTuCLSKMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.59.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/requester-fetch": { + "version": "5.59.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-fetch/-/requester-fetch-5.59.0.tgz", + "integrity": "sha512-Lp52TmpA1QtNmdHzs505Xwf4tgII7RAapkDSF9AAtWIBETcGaTIaXci4Rd9nS6SdaWK1BWTSqAPp5wzh6UN3Ag==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.59.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/requester-node-http": { + "version": "5.59.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-5.59.0.tgz", + "integrity": "sha512-YYHLEs5rC6oRTFwT7bJaKBR9NSFzikeVHGAT1ffATmUQzR8XqyhHXjoieAUoR7fBU6I5cfy1FVeh5GoRgriuzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.59.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, "node_modules/@babel/helper-string-parser": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-8.0.0.tgz", @@ -154,6 +413,57 @@ "node": ">= 20.12.0" } }, + "node_modules/@docsearch/css": { + "version": "3.8.2", + "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-3.8.2.tgz", + "integrity": "sha512-y05ayQFyUmCXze79+56v/4HpycYF3uFqB78pLPrSV5ZKAlDuIAAJNhaRi8tTdRNXh05yxX/TyNnzD6LwSM89vQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@docsearch/js": { + "version": "3.8.2", + "resolved": "https://registry.npmjs.org/@docsearch/js/-/js-3.8.2.tgz", + "integrity": "sha512-Q5wY66qHn0SwA7Taa0aDbHiJvaFJLOJyHmooQ7y8hlwwQLQ/5WwCcoX0g7ii04Qi2DJlHsd0XXzJ8Ypw9+9YmQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@docsearch/react": "3.8.2", + "preact": "^10.0.0" + } + }, + "node_modules/@docsearch/react": { + "version": "3.8.2", + "resolved": "https://registry.npmjs.org/@docsearch/react/-/react-3.8.2.tgz", + "integrity": "sha512-xCRrJQlTt8N9GU0DG4ptwHRkfnSnD/YpdeaXe02iKfqs97TkZJv60yE+1eq/tjPcVnTW8dP5qLP7itifFVV5eg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/autocomplete-core": "1.17.7", + "@algolia/autocomplete-preset-algolia": "1.17.7", + "@docsearch/css": "3.8.2", + "algoliasearch": "^5.14.2" + }, + "peerDependencies": { + "@types/react": ">= 16.8.0 < 19.0.0", + "react": ">= 16.8.0 < 19.0.0", + "react-dom": ">= 16.8.0 < 19.0.0", + "search-insights": ">= 1 < 3" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "react": { + "optional": true + }, + "react-dom": { + "optional": true + }, + "search-insights": { + "optional": true + } + } + }, "node_modules/@electron/asar": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/@electron/asar/-/asar-4.2.0.tgz", @@ -237,6 +547,23 @@ "vitest": "^4.1.0 || ^5.0.0" } }, + "node_modules/@iconify-json/simple-icons": { + "version": "1.2.99", + "resolved": "https://registry.npmjs.org/@iconify-json/simple-icons/-/simple-icons-1.2.99.tgz", + "integrity": "sha512-kouZhqvUoNdxEe+lZksbJJZMCZv4b4Ob62O1GW3fcpz/I0mVPzM+9/Qf/DUuv5ns8l6c46D8M/ubhJjjbLp9HQ==", + "dev": true, + "license": "CC0-1.0", + "dependencies": { + "@iconify/types": "*" + } + }, + "node_modules/@iconify/types": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@iconify/types/-/types-2.0.0.tgz", + "integrity": "sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==", + "dev": true, + "license": "MIT" + }, "node_modules/@jridgewell/resolve-uri": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", @@ -397,6 +724,26 @@ "node": ">=20" } }, + "node_modules/@napi-rs/lzma-linux-x64-gnu": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/@napi-rs/lzma-linux-x64-gnu/-/lzma-linux-x64-gnu-1.5.1.tgz", + "integrity": "sha512-oTXEIha4SsuXdTA4Iyskj0kpdx2yVXdhd75c2v3xGrHFfVMsbhTPZU/nMPL4sWKo4pBHm3aucLaqGlF696dTyQ==", + "cpu": [ + "x64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^22.20 || ^24.12 || >=25" + } + }, "node_modules/@napi-rs/wasm-runtime": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.2.5.tgz", @@ -2044,6 +2391,395 @@ "license": "MIT", "peer": true }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.64.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.64.1.tgz", + "integrity": "sha512-QRU7UpoS9hd8Ij5I6fCVBxZ0UpdfAbZ5y7BWG5STFGMoM9jGzUP464yYAa3CzZxvG+jBwq1kI8L07xx0ReAdGA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.64.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.64.1.tgz", + "integrity": "sha512-ttQF6Rp4MrNy9/2AOPmHmMXbNE8kIlNPYoGC3ksid9tonleMQALfrhTFJiQxobBvXYKG5Wcc8VGcHWTHR0ik8w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.64.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.64.1.tgz", + "integrity": "sha512-MvzZ+qbBi5jrafURHsASUF1qW/58tOJFt/gFVJo2znQWrKX4CSf/Lt/qGONtoA4yHsNL5QzgdXMuITZxAs62Vg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.64.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.64.1.tgz", + "integrity": "sha512-9uj1VBuiPK5ij/+g0mCK17X+V/4SbErvRQMXIQjZAtbl4VcUhv63RhPZsFSWHrCRkTd3FKDtaVTrtT0+8bIhhQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.64.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.64.1.tgz", + "integrity": "sha512-FCoXm836IqcXWhWPRkqlLx3Hjnv9S7c8tg5MFwsgHB3aFCz1JjUy6b1ssrxEjEbqaHpnvRmNjUUHxsXuU85NYA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.64.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.64.1.tgz", + "integrity": "sha512-Xa6Oxo86Ilx1hq1vNb69541NOuUyhGEH3Sc0g7eGkfsfRblWh4hAa4Lj2GWwZyfUVYL+Z4xK3TxhwIuZ3fNPLg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.64.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.64.1.tgz", + "integrity": "sha512-Nkw7cVMu1yrczpzr42Mh1BZ5Ai5A4Fsz2Je/frbwHmazpQTJzP+qo7pNjdxHrxVj56ivKTJihNoN90OD1hGxBA==", + "cpu": [ + "arm" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.64.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.64.1.tgz", + "integrity": "sha512-JONaLM9mZPXbSetxMzYG3496qoJuWvG2ERCTrrVptfw/Fwe4UzrQoEx/mYEeZCRv/Xz0RldOLFeqDfqmH75/Zg==", + "cpu": [ + "arm" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.64.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.64.1.tgz", + "integrity": "sha512-OfimHma+prmdoobHI3tfYud2enQ2LXYaMu+iMUQH7IjJkykJ6qUmAs1M/scdQaEKRWysiKwTctsDa2LXvaO0xw==", + "cpu": [ + "arm64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.64.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.64.1.tgz", + "integrity": "sha512-X5fwh2HM8EHbgfFwpf4m2x2pG/AHdQ2aPDPk+JCDwV4DPeM8yxYmKG1vvm123JSc9gBSu8tu9NECA99wHPztsw==", + "cpu": [ + "arm64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-gnu": { + "version": "4.64.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.64.1.tgz", + "integrity": "sha512-8dp2TxKdjiX/4f7Da9gF7BR29hygxOQlHxKNa8qxJHoqZ13ytrogFTpMPhtVEFrgFu9MSOabAn006PeoygavjA==", + "cpu": [ + "loong64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-musl": { + "version": "4.64.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.64.1.tgz", + "integrity": "sha512-YuYDpRSZnU9qLf6sqyhiBdMRCw5ImECGLNqRjM2hZrJIEwAckameWkRJ3SUnn0oxSewZIib/4iLwyEXj40QqQQ==", + "cpu": [ + "loong64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-gnu": { + "version": "4.64.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.64.1.tgz", + "integrity": "sha512-gGj3v7YYkysy7IbfclMI4PDtHaa6YX4nU1D5NR1fyvXAGqM4TDk28ZWvrpOkkK92eoQRryAludWz6jNjsm77Qg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-musl": { + "version": "4.64.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.64.1.tgz", + "integrity": "sha512-DTZVwvS94FUYpP0CjCfz2iT0XTmBfQGc/arx9IdwUbDImpe9h8dWuMT/oPUvcGiwLKMQoNmuFBx3AVajm+FNjA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.64.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.64.1.tgz", + "integrity": "sha512-NWnyiq2moc8iEHGyTjIFadJTy8VCvCU/rUBfor+3l30JOQKAifpmKdxX4ZxRRPSPE/rLhFpLADdzNjS3Ldctdw==", + "cpu": [ + "riscv64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.64.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.64.1.tgz", + "integrity": "sha512-yIz+7L37g7bVOGLaUQmGqiYADH262krL4dtf5zU6QGldPgOairLEgW1FTs5pP0UFkHq5uf2qxDttOFsVAX6kxg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.64.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.64.1.tgz", + "integrity": "sha512-sRK+GWovJZV6ijyV/k1Ft3FL5+4DscF5OYsJolTbhVTTLFxKOPVjS0wxUUHakvL0vRw/cbFxZNeZLfM/EzuQhA==", + "cpu": [ + "s390x" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.64.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.64.1.tgz", + "integrity": "sha512-T2C0NXqqD063yJdm8UGdcoudBATDODdphEXWS7rEoh0jOITfoEBv7LHfRBYVsy+pI7wwxgScoZpkFiQOf40ryQ==", + "cpu": [ + "x64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.64.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.64.1.tgz", + "integrity": "sha512-05wl8uRZMkcobB6YZrzskr2SiM0VOdzlFw3bAxOjKKTt3M6o3O0X/hE/8xk15u8oQY17xUCdTKcNMMg45ZAFog==", + "cpu": [ + "x64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-openbsd-x64": { + "version": "4.64.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.64.1.tgz", + "integrity": "sha512-NoRZK1VclOgn9x3b9vPJ3sTxwvQ/F+Hf93xurRKSFJKiwNZyQZnLxVpqlCejhDvesMLMF8VNN+Y4jHTFddV/Xg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ] + }, + "node_modules/@rollup/rollup-openharmony-arm64": { + "version": "4.64.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.64.1.tgz", + "integrity": "sha512-SDkX4OkZBePUPf0/XsXVJLwS+O61CmkDKuIyk5CeWddK3vkE8AZjmWK+p1ILRez4wnbS5rTK+U9YmcbRyx2dHw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.64.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.64.1.tgz", + "integrity": "sha512-JQ7el/Plr3juYFxIVu9YXDPNl57XR2L8WIc87JX9wj0L3goV8fXQPQXb3DaHVXq61X/WCGWsTCQsQHo6/Mz5UQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.64.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.64.1.tgz", + "integrity": "sha512-oZSlQ2H3ZDOz3ce1jEyuOZKuD0tPY/D2cKGMcMl0jhHQauBvkHHKAGR1OeRiMluvu3itzLRU2xCTUZptLayObA==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-gnu": { + "version": "4.64.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.64.1.tgz", + "integrity": "sha512-Do2m3jUeVAvUDpee/yVZYRqhO8Ecx4x5sX3EVGalqLx+OxecLDGx3sIwPEm1Nq+MFK2FV3pgdpwWP4624b85Og==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.64.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.64.1.tgz", + "integrity": "sha512-KpxCwRn1Qh3tmBHAqIAF4HtUCVKqZd0w57TsItWblx3QVeJLtXaSgeBFAj1WAvBSpBo+Mh9iZCjj6YW/HaBVMw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, "node_modules/@scalar/openapi-types": { "version": "0.8.0", "resolved": "https://registry.npmjs.org/@scalar/openapi-types/-/openapi-types-0.8.0.tgz", @@ -2053,6 +2789,93 @@ "node": ">=22" } }, + "node_modules/@shikijs/core": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-2.5.0.tgz", + "integrity": "sha512-uu/8RExTKtavlpH7XqnVYBrfBkUc20ngXiX9NSrBhOVZYv/7XQRKUyhtkeflY5QsxC0GbJThCerruZfsUaSldg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@shikijs/engine-javascript": "2.5.0", + "@shikijs/engine-oniguruma": "2.5.0", + "@shikijs/types": "2.5.0", + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.4", + "hast-util-to-html": "^9.0.4" + } + }, + "node_modules/@shikijs/engine-javascript": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@shikijs/engine-javascript/-/engine-javascript-2.5.0.tgz", + "integrity": "sha512-VjnOpnQf8WuCEZtNUdjjwGUbtAVKuZkVQ/5cHy/tojVVRIRtlWMYVjyWhxOmIq05AlSOv72z7hRNRGVBgQOl0w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@shikijs/types": "2.5.0", + "@shikijs/vscode-textmate": "^10.0.2", + "oniguruma-to-es": "^3.1.0" + } + }, + "node_modules/@shikijs/engine-oniguruma": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-2.5.0.tgz", + "integrity": "sha512-pGd1wRATzbo/uatrCIILlAdFVKdxImWJGQ5rFiB5VZi2ve5xj3Ax9jny8QvkaV93btQEwR/rSz5ERFpC5mKNIw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@shikijs/types": "2.5.0", + "@shikijs/vscode-textmate": "^10.0.2" + } + }, + "node_modules/@shikijs/langs": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@shikijs/langs/-/langs-2.5.0.tgz", + "integrity": "sha512-Qfrrt5OsNH5R+5tJ/3uYBBZv3SuGmnRPejV9IlIbFH3HTGLDlkqgHymAlzklVmKBjAaVmkPkyikAV/sQ1wSL+w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@shikijs/types": "2.5.0" + } + }, + "node_modules/@shikijs/themes": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@shikijs/themes/-/themes-2.5.0.tgz", + "integrity": "sha512-wGrk+R8tJnO0VMzmUExHR+QdSaPUl/NKs+a4cQQRWyoc3YFbUzuLEi/KWK1hj+8BfHRKm2jNhhJck1dfstJpiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@shikijs/types": "2.5.0" + } + }, + "node_modules/@shikijs/transformers": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@shikijs/transformers/-/transformers-2.5.0.tgz", + "integrity": "sha512-SI494W5X60CaUwgi8u4q4m4s3YAFSxln3tzNjOSYqq54wlVgz0/NbbXEb3mdLbqMBztcmS7bVTaEd2w0qMmfeg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@shikijs/core": "2.5.0", + "@shikijs/types": "2.5.0" + } + }, + "node_modules/@shikijs/types": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-2.5.0.tgz", + "integrity": "sha512-ygl5yhxki9ZLNuNpPitBWvcy9fsSKKaRuO4BAlMyagszQidxcpLAr0qiW/q43DtSIDxO6hEbtYLiFZNXO/hdGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.4" + } + }, + "node_modules/@shikijs/vscode-textmate": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/@shikijs/vscode-textmate/-/vscode-textmate-10.0.2.tgz", + "integrity": "sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==", + "dev": true, + "license": "MIT" + }, "node_modules/@toon-format/toon": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/@toon-format/toon/-/toon-2.3.1.tgz", @@ -2191,6 +3014,51 @@ "dev": true, "license": "MIT" }, + "node_modules/@types/hast": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.5.tgz", + "integrity": "sha512-rp/ezSWaD1m44dPKICGhiskI13nVr7qTloFwDa/IYkhhf5nzwP+zIQcIJh3WIFSBOy/H1PzB40jPjMDksN4F+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/linkify-it": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-5.0.0.tgz", + "integrity": "sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/markdown-it": { + "version": "14.2.0", + "resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-14.2.0.tgz", + "integrity": "sha512-NoQ2yGlLWj4wpxMs+TYmRKk3thDrQ97agr7sFqfLsAlvoS8SNQuTrlObhFqG9iugdTtgOE9jpJ6FNM4ZGsa5xQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/linkify-it": "^5", + "@types/mdurl": "^2" + } + }, + "node_modules/@types/mdast": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", + "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/mdurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-2.0.0.tgz", + "integrity": "sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/node": { "version": "26.6.4", "resolved": "https://registry.npmjs.org/@types/node/-/node-26.6.4.tgz", @@ -2208,6 +3076,20 @@ "dev": true, "license": "MIT" }, + "node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/web-bluetooth": { + "version": "0.0.21", + "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.21.tgz", + "integrity": "sha512-oIQLCGWtcFZy2JW77j9k8nHzAOpqMHLQejDA48XXMWH6tjCQHz5RCFz1bzsmROyL6PUm+LLnUiI4BCn221inxA==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/write-file-atomic": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/@types/write-file-atomic/-/write-file-atomic-4.0.3.tgz", @@ -2568,6 +3450,13 @@ "node": ">=16.20.0" } }, + "node_modules/@ungap/structured-clone": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.4.0.tgz", + "integrity": "sha512-1mEZtMKPM09vDmQt5y7YvmN2+DFTP7Tg0EWXdic8/C6VRnpb33e4ghisCIE3WZjsE2N8mf+QV1Zqh7ZFYLWInQ==", + "dev": true, + "license": "ISC" + }, "node_modules/@vitest/coverage-v8": { "version": "5.0.3", "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-5.0.3.tgz", @@ -2658,6 +3547,379 @@ "url": "https://opencollective.com/vitest" } }, + "node_modules/@vue/compiler-core": { + "version": "3.5.43", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.43.tgz", + "integrity": "sha512-zdiLhnbe1QQqgDT8xZMpNmyqZ3qlI+/Q/FHQco57Kwl/b05HhCzN6eVGN9QU9rbga4CrS0H5SYY8VGHZCt/1Hg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.29.8", + "@vue/shared": "3.5.43", + "entities": "^7.0.1", + "estree-walker": "^2.0.2", + "source-map-js": "^1.2.1" + } + }, + "node_modules/@vue/compiler-core/node_modules/@babel/helper-string-parser": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.29.7.tgz", + "integrity": "sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@vue/compiler-core/node_modules/@babel/helper-validator-identifier": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.29.7.tgz", + "integrity": "sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@vue/compiler-core/node_modules/@babel/parser": { + "version": "7.29.9", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.9.tgz", + "integrity": "sha512-CjXrNHTnvqBVqHgdBysY3vk2T8tpJHb5/RMeHJBTyVa9xgugCB0CJTx/3oO8RV2QRQP391RWpB7D6hLjm8V9uA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.29.8" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@vue/compiler-core/node_modules/@babel/types": { + "version": "7.29.8", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.8.tgz", + "integrity": "sha512-Vj1jF3cPfxg7OAfoI7QnVKLoILlm2JF9pnVHrX8qx7AHMiYWT+NDAA7jChlNgRS4WTLc/fD1lXLmPixluj+3Gg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.29.7", + "@babel/helper-validator-identifier": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@vue/compiler-core/node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vue/compiler-dom": { + "version": "3.5.43", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.43.tgz", + "integrity": "sha512-PEZoAk3NQmsn/ejMzSOCyTYqwGqczrWm70PuhBKjjv1+TCoQAaO/zOqNwjV+honlNstT5ILxtc+8r8UUfj+iEQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vue/compiler-core": "3.5.43", + "@vue/shared": "3.5.43" + } + }, + "node_modules/@vue/compiler-sfc": { + "version": "3.5.43", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.43.tgz", + "integrity": "sha512-FCbrG3XNCRl+js3huuKx4IVHBLTvMkJhVepjbxSPu1gn4yWLaYtGNQdjJGZaMytXB6qb76qQDDmDSLy/vkmleQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.29.8", + "@vue/compiler-core": "3.5.43", + "@vue/compiler-dom": "3.5.43", + "@vue/compiler-ssr": "3.5.43", + "@vue/shared": "3.5.43", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.21", + "postcss": "^8.5.28", + "source-map-js": "^1.2.1" + } + }, + "node_modules/@vue/compiler-sfc/node_modules/@babel/helper-string-parser": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.29.7.tgz", + "integrity": "sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@vue/compiler-sfc/node_modules/@babel/helper-validator-identifier": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.29.7.tgz", + "integrity": "sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@vue/compiler-sfc/node_modules/@babel/parser": { + "version": "7.29.9", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.9.tgz", + "integrity": "sha512-CjXrNHTnvqBVqHgdBysY3vk2T8tpJHb5/RMeHJBTyVa9xgugCB0CJTx/3oO8RV2QRQP391RWpB7D6hLjm8V9uA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.29.8" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@vue/compiler-sfc/node_modules/@babel/types": { + "version": "7.29.8", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.8.tgz", + "integrity": "sha512-Vj1jF3cPfxg7OAfoI7QnVKLoILlm2JF9pnVHrX8qx7AHMiYWT+NDAA7jChlNgRS4WTLc/fD1lXLmPixluj+3Gg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.29.7", + "@babel/helper-validator-identifier": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@vue/compiler-sfc/node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vue/compiler-sfc/node_modules/magic-string": { + "version": "0.30.21", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", + "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.5" + } + }, + "node_modules/@vue/compiler-ssr": { + "version": "3.5.43", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.43.tgz", + "integrity": "sha512-GF62orf7KiJX9RqrHNGrYBudsQGD0OhJ5nDs90O8UiDuS40+YMYomiXu6w6EuvtXuRDc3MSNis3EaaSKAVSWpg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vue/compiler-dom": "3.5.43", + "@vue/shared": "3.5.43" + } + }, + "node_modules/@vue/devtools-api": { + "version": "7.7.10", + "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-7.7.10.tgz", + "integrity": "sha512-KxtEpUOOpFz/qOGRrAwA36QF7DqIA+FXgCYit9mk9wjbaZt0sXOFz81ElOZtKA4HbWHUdwNjZHBFsFFyp5BZiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vue/devtools-kit": "^7.7.10" + } + }, + "node_modules/@vue/devtools-kit": { + "version": "7.7.10", + "resolved": "https://registry.npmjs.org/@vue/devtools-kit/-/devtools-kit-7.7.10.tgz", + "integrity": "sha512-3WNi2Kq4tbpVbmhml7RiphmAt0279oh3fKNeWMQIrltfX8Q91b4i5PL8DtyNKdwmcsGrV4fg+erwWOmD05CLIw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vue/devtools-shared": "^7.7.10", + "birpc": "^2.3.0", + "hookable": "^5.5.3", + "mitt": "^3.0.1", + "perfect-debounce": "^1.0.0", + "speakingurl": "^14.0.1", + "superjson": "^2.2.2" + } + }, + "node_modules/@vue/devtools-shared": { + "version": "7.7.10", + "resolved": "https://registry.npmjs.org/@vue/devtools-shared/-/devtools-shared-7.7.10.tgz", + "integrity": "sha512-wOPslzB8vTvpxwdaOcR2qAbwmuSP0L+rhpoC6Cf56V3Jip+HWb7PQQXOUPgBNQARpXsbQX/+mvi8kKucmBGRwQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "rfdc": "^1.4.1" + } + }, + "node_modules/@vue/reactivity": { + "version": "3.5.43", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.43.tgz", + "integrity": "sha512-G/c9GyOZNI2jVaaS6OX1EF1SSFSv7H0ERqNTl4+DTFMlZmB5eVAB53aLQNam/7NL2NPtaDD7RdVrzf8uJzMuOA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vue/shared": "3.5.43" + } + }, + "node_modules/@vue/runtime-core": { + "version": "3.5.43", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.43.tgz", + "integrity": "sha512-hU6U6VnVhBGQDpvlnnDlIB8ZGJBiOcgk2lh/0InltHiz3D8oSkluvuvY+do1G2H3+udeKFsmaBlgVYP7gXQzEw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vue/reactivity": "3.5.43", + "@vue/shared": "3.5.43" + } + }, + "node_modules/@vue/runtime-dom": { + "version": "3.5.43", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.43.tgz", + "integrity": "sha512-Bb2Jc0YjjJdMt1SJmb9b2L/IWd3I8lIT9x9eS/xvvP9CiVgna0ffua74xKRmt4/uSJ+0r4iN8ex1jrqkhQGWQw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vue/reactivity": "3.5.43", + "@vue/runtime-core": "3.5.43", + "@vue/shared": "3.5.43", + "csstype": "^3.2.3" + } + }, + "node_modules/@vue/server-renderer": { + "version": "3.5.43", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.43.tgz", + "integrity": "sha512-l2Ygjv9NehV94PSBxNWsAHC0j/eIIKbn92mBuWXAPGLnn6HfJ6MH5ubsd+Nk0YoZ5FRuxWI1P2VSoh+dbPQhCQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vue/compiler-ssr": "3.5.43", + "@vue/runtime-dom": "3.5.43", + "@vue/shared": "3.5.43" + } + }, + "node_modules/@vue/shared": { + "version": "3.5.43", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.43.tgz", + "integrity": "sha512-uksS7YGMR5NZyr4JNq0Rp+QyLns0ueaz20KwzIPW9R0LH1Vnt4E+XUM29PNseEbf1www2gOuhuDi5AKOIXag9Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vueuse/core": { + "version": "12.8.2", + "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-12.8.2.tgz", + "integrity": "sha512-HbvCmZdzAu3VGi/pWYm5Ut+Kd9mn1ZHnn4L5G8kOQTPs/IwIAmJoBrmYk2ckLArgMXZj0AW3n5CAejLUO+PhdQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/web-bluetooth": "^0.0.21", + "@vueuse/metadata": "12.8.2", + "@vueuse/shared": "12.8.2", + "vue": "^3.5.13" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/integrations": { + "version": "12.8.2", + "resolved": "https://registry.npmjs.org/@vueuse/integrations/-/integrations-12.8.2.tgz", + "integrity": "sha512-fbGYivgK5uBTRt7p5F3zy6VrETlV9RtZjBqd1/HxGdjdckBgBM4ugP8LHpjolqTj14TXTxSK1ZfgPbHYyGuH7g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vueuse/core": "12.8.2", + "@vueuse/shared": "12.8.2", + "vue": "^3.5.13" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "async-validator": "^4", + "axios": "^1", + "change-case": "^5", + "drauu": "^0.4", + "focus-trap": "^7", + "fuse.js": "^7", + "idb-keyval": "^6", + "jwt-decode": "^4", + "nprogress": "^0.2", + "qrcode": "^1.5", + "sortablejs": "^1", + "universal-cookie": "^7" + }, + "peerDependenciesMeta": { + "async-validator": { + "optional": true + }, + "axios": { + "optional": true + }, + "change-case": { + "optional": true + }, + "drauu": { + "optional": true + }, + "focus-trap": { + "optional": true + }, + "fuse.js": { + "optional": true + }, + "idb-keyval": { + "optional": true + }, + "jwt-decode": { + "optional": true + }, + "nprogress": { + "optional": true + }, + "qrcode": { + "optional": true + }, + "sortablejs": { + "optional": true + }, + "universal-cookie": { + "optional": true + } + } + }, + "node_modules/@vueuse/metadata": { + "version": "12.8.2", + "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-12.8.2.tgz", + "integrity": "sha512-rAyLGEuoBJ/Il5AmFHiziCPdQzRt88VxR+Y/A/QhJ1EWtWqPBBAxTAFaSkviwEuOEZNtW8pvkPgoCZQ+HxqW1A==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/shared": { + "version": "12.8.2", + "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-12.8.2.tgz", + "integrity": "sha512-dznP38YzxZoNloI0qpEfpkms8knDtaoQ6Y/sfS0L7Yki4zh40LFHEhur0odJC6xTHG5dxWVPiUWBXn+wCG2s5w==", + "dev": true, + "license": "MIT", + "dependencies": { + "vue": "^3.5.13" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, "node_modules/@xmldom/xmldom": { "version": "0.9.12", "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.9.12.tgz", @@ -2722,6 +3984,32 @@ "url": "https://github.com/sponsors/epoberezkin" } }, + "node_modules/algoliasearch": { + "version": "5.59.0", + "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-5.59.0.tgz", + "integrity": "sha512-wUXzaeI7B526W4y1gFg3lcxgDZ67XSgRJIiellYWOas/pLpO7rOtxm9Gr2E/C8aiSDXIgx1q5TdSsvK67Uakqw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/abtesting": "1.25.0", + "@algolia/client-abtesting": "5.59.0", + "@algolia/client-analytics": "5.59.0", + "@algolia/client-common": "5.59.0", + "@algolia/client-insights": "5.59.0", + "@algolia/client-personalization": "5.59.0", + "@algolia/client-query-suggestions": "5.59.0", + "@algolia/client-search": "5.59.0", + "@algolia/ingestion": "1.59.0", + "@algolia/monitoring": "1.59.0", + "@algolia/recommend": "5.59.0", + "@algolia/requester-browser-xhr": "5.59.0", + "@algolia/requester-fetch": "5.59.0", + "@algolia/requester-node-http": "5.59.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, "node_modules/ansi-escapes": { "version": "7.3.0", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.3.0.tgz", @@ -2845,6 +4133,16 @@ ], "license": "MIT" }, + "node_modules/birpc": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/birpc/-/birpc-2.9.0.tgz", + "integrity": "sha512-KrayHS5pBi69Xi9JmvoqrIgYGDkD6mcSe/i6YKi3w5kekCLzrX4+nawcXqrj2tIp50Kw/mT/s3p+GVK0A0sKxw==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, "node_modules/brace-expansion": { "version": "5.0.12", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.12.tgz", @@ -2940,6 +4238,17 @@ "node": ">=18" } }, + "node_modules/ccount": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", + "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/chai": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/chai/-/chai-6.3.0.tgz", @@ -2950,6 +4259,28 @@ "node": ">=18" } }, + "node_modules/character-entities-html4": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", + "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-legacy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", + "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/clean-git-ref": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/clean-git-ref/-/clean-git-ref-2.0.1.tgz", @@ -2996,6 +4327,17 @@ "dev": true, "license": "MIT" }, + "node_modules/comma-separated-tokens": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", + "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/commander": { "version": "14.0.3", "resolved": "https://registry.npmjs.org/commander/-/commander-14.0.3.tgz", @@ -3006,6 +4348,19 @@ "node": ">=20" } }, + "node_modules/copy-anything": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-4.1.5.tgz", + "integrity": "sha512-vePst2VLTSqPglW7Q98VwFpGiGpOHTyXIo81MO5VyLecA5zMbZw/P/V1vmwD1jksa2iJpn/YkDrJ3XhTfzUyhQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" + } + }, "node_modules/crc-32": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", @@ -3032,6 +4387,13 @@ "node": ">= 8" } }, + "node_modules/csstype": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", + "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", + "dev": true, + "license": "MIT" + }, "node_modules/decompress-response": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", @@ -3064,6 +4426,16 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/detect-libc": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", @@ -3075,6 +4447,20 @@ "node": ">=8" } }, + "node_modules/devlop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", + "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", + "dev": true, + "license": "MIT", + "dependencies": { + "dequal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/diff": { "version": "9.0.0", "resolved": "https://registry.npmjs.org/diff/-/diff-9.0.0.tgz", @@ -3111,6 +4497,26 @@ "dev": true, "license": "MIT" }, + "node_modules/emoji-regex-xs": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex-xs/-/emoji-regex-xs-1.0.0.tgz", + "integrity": "sha512-LRlerrMYoIDrT6jgpeZ2YYl/L8EulRTt5hQcYjy5AInh7HWXKimpqx68aknBFpGL2+/IcogTcaydJEgaTmOpDg==", + "dev": true, + "license": "MIT" + }, + "node_modules/entities": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-7.0.1.tgz", + "integrity": "sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, "node_modules/environment": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/environment/-/environment-1.1.0.tgz", @@ -3326,6 +4732,16 @@ } } }, + "node_modules/focus-trap": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/focus-trap/-/focus-trap-7.8.0.tgz", + "integrity": "sha512-/yNdlIkpWbM0ptxno3ONTuf+2g318kh2ez3KSeZN5dZ8YC6AAmgeWz+GasYYiBJPFaYcSAPeu4GfhUaChzIJXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "tabbable": "^6.4.0" + } + }, "node_modules/for-each": { "version": "0.3.5", "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", @@ -3369,7 +4785,6 @@ "os": [ "darwin" ], - "peer": true, "engines": { "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } @@ -3526,6 +4941,62 @@ "node": ">= 0.4" } }, + "node_modules/hast-util-to-html": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-9.0.5.tgz", + "integrity": "sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "ccount": "^2.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-whitespace": "^3.0.0", + "html-void-elements": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0", + "stringify-entities": "^4.0.0", + "zwitch": "^2.0.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-whitespace": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", + "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hookable": { + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/hookable/-/hookable-5.5.3.tgz", + "integrity": "sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/html-void-elements": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-3.0.0.tgz", + "integrity": "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/husky": { "version": "9.1.7", "resolved": "https://registry.npmjs.org/husky/-/husky-9.1.7.tgz", @@ -4353,6 +5824,13 @@ "node": ">=6.9.0" } }, + "node_modules/mark.js": { + "version": "8.11.1", + "resolved": "https://registry.npmjs.org/mark.js/-/mark.js-8.11.1.tgz", + "integrity": "sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==", + "dev": true, + "license": "MIT" + }, "node_modules/math-intrinsics": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", @@ -4362,6 +5840,122 @@ "node": ">= 0.4" } }, + "node_modules/mdast-util-to-hast": { + "version": "13.2.1", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.1.tgz", + "integrity": "sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@ungap/structured-clone": "^1.0.0", + "devlop": "^1.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "trim-lines": "^3.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-encode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz", + "integrity": "sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-sanitize-uri": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz", + "integrity": "sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-types": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.3.tgz", + "integrity": "sha512-oxB2Ik03hI0gv+VNn9tnh1t1YEe9MDPptViAEgfdf3YQHsn0pzGTgCdlSCJXcwhqm8phaEuM7zeEu3QQzVBrPg==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, "node_modules/mimic-function": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/mimic-function/-/mimic-function-5.0.1.tgz", @@ -4429,6 +6023,20 @@ "node": ">=16 || 14 >=14.17" } }, + "node_modules/minisearch": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/minisearch/-/minisearch-7.2.0.tgz", + "integrity": "sha512-dqT2XBYUOZOiC5t2HRnwADjhNS2cecp9u+TJRiJ1Qp/f5qjkeT5APcGPjHw+bz89Ms8Jp+cG4AlE+QZ/QnDglg==", + "dev": true, + "license": "MIT" + }, + "node_modules/mitt": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.1.tgz", + "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==", + "dev": true, + "license": "MIT" + }, "node_modules/nanoid": { "version": "3.3.20", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.20.tgz", @@ -4441,7 +6049,6 @@ } ], "license": "MIT", - "peer": true, "bin": { "nanoid": "bin/nanoid.cjs" }, @@ -4497,6 +6104,18 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/oniguruma-to-es": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/oniguruma-to-es/-/oniguruma-to-es-3.1.1.tgz", + "integrity": "sha512-bUH8SDvPkH3ho3dvwJwfonjlQ4R80vjyvrU8YpxuROddv55vAEJrTuCuCVUhhsHbtlD9tGGbaNApGQckXhS8iQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex-xs": "^1.0.0", + "regex": "^6.0.1", + "regex-recursion": "^6.0.2" + } + }, "node_modules/oxc-parser": { "version": "0.150.0", "resolved": "https://registry.npmjs.org/oxc-parser/-/oxc-parser-0.150.0.tgz", @@ -4714,13 +6333,19 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/perfect-debounce": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/perfect-debounce/-/perfect-debounce-1.0.0.tgz", + "integrity": "sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==", + "dev": true, + "license": "MIT" + }, "node_modules/picocolors": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", "dev": true, - "license": "ISC", - "peer": true + "license": "ISC" }, "node_modules/picomatch": { "version": "4.0.7", @@ -4844,7 +6469,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "nanoid": "^3.3.19", "picocolors": "^1.1.1", @@ -4854,6 +6478,25 @@ "node": "^10 || ^12 || >=14" } }, + "node_modules/preact": { + "version": "10.29.8", + "resolved": "https://registry.npmjs.org/preact/-/preact-10.29.8.tgz", + "integrity": "sha512-ej2aVZ+vZ8WO7tvlQWRM9N63A0KzF9q4mWJfDUHgYaIofWY9hu74QdnQrjoPMmZi2/nZ5gN0bJCQF49xQqx09Q==", + "dev": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/preact" + }, + "peerDependencies": { + "preact-render-to-string": ">=5" + }, + "peerDependenciesMeta": { + "preact-render-to-string": { + "optional": true + } + } + }, "node_modules/process": { "version": "0.11.10", "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", @@ -4879,6 +6522,17 @@ ], "license": "MIT" }, + "node_modules/property-information": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-7.2.0.tgz", + "integrity": "sha512-IAtzIB6sUiWaJYrX9smp3V46pBGbBeLFRGdh25kg1334VcBlD8HzhPeNIWQH9zhGmo2itIe25EHt9dQP7G5hmg==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/pure-rand": { "version": "8.4.2", "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-8.4.2.tgz", @@ -4924,6 +6578,33 @@ "integrity": "sha512-P4nbQYQfePJxRSmY+v/KINxVucm4NF3p3s7pJveMTtom52FR4YGltUQLB8idDXwDDWW+eYrWDFbuzUnjoWHF7g==", "license": "MIT" }, + "node_modules/regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/regex/-/regex-6.1.0.tgz", + "integrity": "sha512-6VwtthbV4o/7+OaAF9I5L5V3llLEsoPyq9P1JVXkedTP33c7MfCG0/5NOPcSJn0TzXcG9YUrR0gQSWioew3LDg==", + "dev": true, + "license": "MIT", + "dependencies": { + "regex-utilities": "^2.3.0" + } + }, + "node_modules/regex-recursion": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/regex-recursion/-/regex-recursion-6.0.2.tgz", + "integrity": "sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg==", + "dev": true, + "license": "MIT", + "dependencies": { + "regex-utilities": "^2.3.0" + } + }, + "node_modules/regex-utilities": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/regex-utilities/-/regex-utilities-2.3.0.tgz", + "integrity": "sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==", + "dev": true, + "license": "MIT" + }, "node_modules/require-from-string": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", @@ -5003,6 +6684,52 @@ "@rolldown/binding-win32-x64-msvc": "1.2.12" } }, + "node_modules/rollup": { + "version": "4.64.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.64.1.tgz", + "integrity": "sha512-7s4V+3J8ux75WNj9qwSJnrWmlCmZ2YHr2fojtHy5RiIMvhJv6DGe7HKKz7L6G1sq1Eg1fLC8SjYtAtDis1F4CQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.9" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@napi-rs/lzma-linux-x64-gnu": "1.5.1", + "@rollup/rollup-android-arm-eabi": "4.64.1", + "@rollup/rollup-android-arm64": "4.64.1", + "@rollup/rollup-darwin-arm64": "4.64.1", + "@rollup/rollup-darwin-x64": "4.64.1", + "@rollup/rollup-freebsd-arm64": "4.64.1", + "@rollup/rollup-freebsd-x64": "4.64.1", + "@rollup/rollup-linux-arm-gnueabihf": "4.64.1", + "@rollup/rollup-linux-arm-musleabihf": "4.64.1", + "@rollup/rollup-linux-arm64-gnu": "4.64.1", + "@rollup/rollup-linux-arm64-musl": "4.64.1", + "@rollup/rollup-linux-loong64-gnu": "4.64.1", + "@rollup/rollup-linux-loong64-musl": "4.64.1", + "@rollup/rollup-linux-ppc64-gnu": "4.64.1", + "@rollup/rollup-linux-ppc64-musl": "4.64.1", + "@rollup/rollup-linux-riscv64-gnu": "4.64.1", + "@rollup/rollup-linux-riscv64-musl": "4.64.1", + "@rollup/rollup-linux-s390x-gnu": "4.64.1", + "@rollup/rollup-linux-x64-gnu": "4.64.1", + "@rollup/rollup-linux-x64-musl": "4.64.1", + "@rollup/rollup-openbsd-x64": "4.64.1", + "@rollup/rollup-openharmony-arm64": "4.64.1", + "@rollup/rollup-win32-arm64-msvc": "4.64.1", + "@rollup/rollup-win32-ia32-msvc": "4.64.1", + "@rollup/rollup-win32-x64-gnu": "4.64.1", + "@rollup/rollup-win32-x64-msvc": "4.64.1", + "fsevents": "~2.3.2" + } + }, "node_modules/safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", @@ -5032,6 +6759,14 @@ "node": ">=10" } }, + "node_modules/search-insights": { + "version": "2.17.3", + "resolved": "https://registry.npmjs.org/search-insights/-/search-insights-2.17.3.tgz", + "integrity": "sha512-RQPdCYTa8A68uM2jwxoY842xDhvx3E5LFL1LxvxCNMev4o5mLuokczhzjAgGwUZBAmOKZknArSxLKmXtIi2AxQ==", + "dev": true, + "license": "MIT", + "peer": true + }, "node_modules/semver": { "version": "7.8.5", "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.5.tgz", @@ -5102,6 +6837,23 @@ "node": ">=8" } }, + "node_modules/shiki": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-2.5.0.tgz", + "integrity": "sha512-mI//trrsaiCIPsja5CNfsyNOqgAZUb6VpJA+340toL42UpzQlXpwRV9nch69X6gaUxrr9kaOOa6e3y3uAkGFxQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@shikijs/core": "2.5.0", + "@shikijs/engine-javascript": "2.5.0", + "@shikijs/engine-oniguruma": "2.5.0", + "@shikijs/langs": "2.5.0", + "@shikijs/themes": "2.5.0", + "@shikijs/types": "2.5.0", + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.4" + } + }, "node_modules/signal-exit": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", @@ -5213,6 +6965,27 @@ "node": ">=0.10.0" } }, + "node_modules/space-separated-tokens": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", + "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/speakingurl": { + "version": "14.0.1", + "resolved": "https://registry.npmjs.org/speakingurl/-/speakingurl-14.0.1.tgz", + "integrity": "sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/split2": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", @@ -5265,6 +7038,21 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/stringify-entities": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz", + "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==", + "dev": true, + "license": "MIT", + "dependencies": { + "character-entities-html4": "^2.0.0", + "character-entities-legacy": "^3.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/strip-ansi": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz", @@ -5294,6 +7082,26 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/superjson": { + "version": "2.2.6", + "resolved": "https://registry.npmjs.org/superjson/-/superjson-2.2.6.tgz", + "integrity": "sha512-H+ue8Zo4vJmV2nRjpx86P35lzwDT3nItnIsocgumgr0hHMQ+ZGq5vrERg9kJBo5AWGmxZDhzDo+WVIJqkB0cGA==", + "dev": true, + "license": "MIT", + "dependencies": { + "copy-anything": "^4" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/tabbable": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-6.5.0.tgz", + "integrity": "sha512-wieBHXygIm7OyQOu5hQlkk62/WyCFYGlWg7L6/ZCUZwx0o398Zkn4pVmMyfYhfMG8kGrj/Krt8eIk6UKC6VzwA==", + "dev": true, + "license": "MIT" + }, "node_modules/thread-stream": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/thread-stream/-/thread-stream-4.2.0.tgz", @@ -5383,6 +7191,17 @@ "integrity": "sha512-NLdXTEZkKiO0gZuLtMoZKjCXTREXeZZt8nnnNeyoXtNZAfG/GKGSbQtLU5STspc0rMSwcA+UJfWZkbNU01iKmQ==", "license": "MIT" }, + "node_modules/trim-lines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", + "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/tslib": { "version": "2.8.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", @@ -5475,6 +7294,109 @@ "dev": true, "license": "MIT" }, + "node_modules/unist-util-is": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.1.tgz", + "integrity": "sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-position": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz", + "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.1.0.tgz", + "integrity": "sha512-m+vIdyeCOpdr/QeQCu2EzxX/ohgS8KbnPDgFni4dQsfSCtpz8UqDyY5GjRru8PDKuYn7Fq19j1CQ+nJSsGKOzg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-parents": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.2.tgz", + "integrity": "sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz", + "integrity": "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-message": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.3.tgz", + "integrity": "sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/vite": { "version": "8.3.2", "resolved": "https://registry.npmjs.org/vite/-/vite-8.3.2.tgz", @@ -5554,6 +7476,621 @@ } } }, + "node_modules/vitepress": { + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/vitepress/-/vitepress-1.6.4.tgz", + "integrity": "sha512-+2ym1/+0VVrbhNyRoFFesVvBvHAVMZMK0rw60E3X/5349M1GuVdKeazuksqopEdvkKwKGs21Q729jX81/bkBJg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@docsearch/css": "3.8.2", + "@docsearch/js": "3.8.2", + "@iconify-json/simple-icons": "^1.2.21", + "@shikijs/core": "^2.1.0", + "@shikijs/transformers": "^2.1.0", + "@shikijs/types": "^2.1.0", + "@types/markdown-it": "^14.1.2", + "@vitejs/plugin-vue": "^5.2.1", + "@vue/devtools-api": "^7.7.0", + "@vue/shared": "^3.5.13", + "@vueuse/core": "^12.4.0", + "@vueuse/integrations": "^12.4.0", + "focus-trap": "^7.6.4", + "mark.js": "8.11.1", + "minisearch": "^7.1.1", + "shiki": "^2.1.0", + "vite": "^5.4.14", + "vue": "^3.5.13" + }, + "bin": { + "vitepress": "bin/vitepress.js" + }, + "peerDependencies": { + "markdown-it-mathjax3": "^4", + "postcss": "^8" + }, + "peerDependenciesMeta": { + "markdown-it-mathjax3": { + "optional": true + }, + "postcss": { + "optional": true + } + } + }, + "node_modules/vitepress/node_modules/@esbuild/aix-ppc64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz", + "integrity": "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vitepress/node_modules/@esbuild/android-arm": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.12.tgz", + "integrity": "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vitepress/node_modules/@esbuild/android-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.12.tgz", + "integrity": "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vitepress/node_modules/@esbuild/android-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.12.tgz", + "integrity": "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vitepress/node_modules/@esbuild/darwin-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.12.tgz", + "integrity": "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vitepress/node_modules/@esbuild/darwin-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.12.tgz", + "integrity": "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vitepress/node_modules/@esbuild/freebsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.12.tgz", + "integrity": "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vitepress/node_modules/@esbuild/freebsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.12.tgz", + "integrity": "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vitepress/node_modules/@esbuild/linux-arm": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.12.tgz", + "integrity": "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vitepress/node_modules/@esbuild/linux-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.12.tgz", + "integrity": "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vitepress/node_modules/@esbuild/linux-ia32": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.12.tgz", + "integrity": "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vitepress/node_modules/@esbuild/linux-loong64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.12.tgz", + "integrity": "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vitepress/node_modules/@esbuild/linux-mips64el": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.12.tgz", + "integrity": "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vitepress/node_modules/@esbuild/linux-ppc64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.12.tgz", + "integrity": "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vitepress/node_modules/@esbuild/linux-riscv64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.12.tgz", + "integrity": "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vitepress/node_modules/@esbuild/linux-s390x": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.12.tgz", + "integrity": "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vitepress/node_modules/@esbuild/linux-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.12.tgz", + "integrity": "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vitepress/node_modules/@esbuild/netbsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.12.tgz", + "integrity": "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vitepress/node_modules/@esbuild/netbsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.12.tgz", + "integrity": "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vitepress/node_modules/@esbuild/openbsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.12.tgz", + "integrity": "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vitepress/node_modules/@esbuild/openbsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.12.tgz", + "integrity": "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vitepress/node_modules/@esbuild/openharmony-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.12.tgz", + "integrity": "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vitepress/node_modules/@esbuild/sunos-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.12.tgz", + "integrity": "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vitepress/node_modules/@esbuild/win32-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.12.tgz", + "integrity": "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vitepress/node_modules/@esbuild/win32-ia32": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.12.tgz", + "integrity": "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vitepress/node_modules/@esbuild/win32-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.12.tgz", + "integrity": "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vitepress/node_modules/@vitejs/plugin-vue": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-5.2.4.tgz", + "integrity": "sha512-7Yx/SXSOcQq5HiiV3orevHUFn+pmMB4cgbEkDYgnkUWb0WfeQ/wa2yFv6D5ICiCQOVpjA7vYDXrC7AGO8yjDHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "peerDependencies": { + "vite": "^5.0.0 || ^6.0.0", + "vue": "^3.2.25" + } + }, + "node_modules/vitepress/node_modules/esbuild": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.12.tgz", + "integrity": "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.25.12", + "@esbuild/android-arm": "0.25.12", + "@esbuild/android-arm64": "0.25.12", + "@esbuild/android-x64": "0.25.12", + "@esbuild/darwin-arm64": "0.25.12", + "@esbuild/darwin-x64": "0.25.12", + "@esbuild/freebsd-arm64": "0.25.12", + "@esbuild/freebsd-x64": "0.25.12", + "@esbuild/linux-arm": "0.25.12", + "@esbuild/linux-arm64": "0.25.12", + "@esbuild/linux-ia32": "0.25.12", + "@esbuild/linux-loong64": "0.25.12", + "@esbuild/linux-mips64el": "0.25.12", + "@esbuild/linux-ppc64": "0.25.12", + "@esbuild/linux-riscv64": "0.25.12", + "@esbuild/linux-s390x": "0.25.12", + "@esbuild/linux-x64": "0.25.12", + "@esbuild/netbsd-arm64": "0.25.12", + "@esbuild/netbsd-x64": "0.25.12", + "@esbuild/openbsd-arm64": "0.25.12", + "@esbuild/openbsd-x64": "0.25.12", + "@esbuild/openharmony-arm64": "0.25.12", + "@esbuild/sunos-x64": "0.25.12", + "@esbuild/win32-arm64": "0.25.12", + "@esbuild/win32-ia32": "0.25.12", + "@esbuild/win32-x64": "0.25.12" + } + }, + "node_modules/vitepress/node_modules/vite": { + "version": "6.4.4", + "resolved": "https://registry.npmjs.org/vite/-/vite-6.4.4.tgz", + "integrity": "sha512-xGjU/SyjeNyb0E4KxXBvYz/1C+3JXuujvf2hXNOtnlcE+58o5ajd9N2/n2VhkiJvpCP2qQasnUpx5PXNeI+p1Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "^0.25.0", + "fdir": "^6.4.4", + "picomatch": "^4.0.2", + "postcss": "^8.5.3", + "rollup": "^4.34.9", + "tinyglobby": "^0.2.13" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", + "jiti": ">=1.21.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, "node_modules/vitest": { "version": "5.0.3", "resolved": "https://registry.npmjs.org/vitest/-/vitest-5.0.3.tgz", @@ -5637,6 +8174,28 @@ } } }, + "node_modules/vue": { + "version": "3.5.43", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.43.tgz", + "integrity": "sha512-o5qZoksdnjIKvW1srZ3ab7pcDNYAerBjRe54D0LBLfRdCYFrSgBHVXokMas35czQc0//lmx4/tuY4ZNQ+Rf2Ng==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vue/compiler-dom": "3.5.43", + "@vue/compiler-sfc": "3.5.43", + "@vue/runtime-dom": "3.5.43", + "@vue/server-renderer": "3.5.43", + "@vue/shared": "3.5.43" + }, + "peerDependencies": { + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, "node_modules/walk-up-path": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/walk-up-path/-/walk-up-path-4.0.0.tgz", @@ -5804,6 +8363,17 @@ "funding": { "url": "https://github.com/sponsors/colinhacks" } + }, + "node_modules/zwitch": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", + "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } } } } diff --git a/package.json b/package.json index d5fdff46a..706820230 100644 --- a/package.json +++ b/package.json @@ -46,6 +46,7 @@ "bridge/ghidra/ReaGhidraBridge.java", "bridge/ghidra/ReaGhidraExtensions.java", "bridge/ghidra/ReaGhidraPrepareCom.java", + "bridge/android/ReaJadxBridge.java", "scripts/rea.mjs", "scripts/electron-active-hook.cjs", "scripts/electron-active-hook-boundaries.cjs", @@ -158,6 +159,9 @@ "config:print": "node scripts/print-mcp-config.mjs", "evidence:generate": "npm run build:cached && node scripts/generate-completion-ledger.mjs", "evidence:check": "npm run build:cached && node scripts/generate-completion-ledger.mjs --check", + "docs:dev": "vitepress dev docs", + "docs:build": "vitepress build docs", + "docs:preview": "vitepress preview docs", "docs:generate": "node scripts/run-exclusive.mjs docs npm run docs:generate:unlocked", "docs:generate:unlocked": "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 && node scripts/generate-error-schema.mjs", "docs:check": "node scripts/run-exclusive.mjs docs turbo run docs:check:built", @@ -218,6 +222,11 @@ "ws": "8.21.0", "zod": "4.4.3" }, + "overrides": { + "vitepress": { + "vite": "6.4.4" + } + }, "devDependencies": { "@fast-check/vitest": "0.5.0", "@types/cross-spawn": "6.0.6", @@ -235,6 +244,7 @@ "oxlint": "1.87.0", "turbo": "2.11.7", "typescript": "7.0.2", + "vitepress": "1.6.4", "vitest": "5.0.3", "yaml": "2.9.0" } diff --git a/scripts/lib/browser-script-export-assertions.mjs b/scripts/lib/browser-script-export-assertions.mjs index 1238880a7..0db4eb294 100644 --- a/scripts/lib/browser-script-export-assertions.mjs +++ b/scripts/lib/browser-script-export-assertions.mjs @@ -3,7 +3,7 @@ import { createHash } from "node:crypto"; import { readFile } from "node:fs/promises"; import { join } from "node:path"; import { webScriptExportResultSchema } from "../../dist/domain/webScriptExport.js"; -import { javascriptApplicationAnalysisResultSchema } from "../../dist/domain/javascriptApplicationAnalysis.js"; +import { javascriptApplicationAnalysisResultSchema } from "../../dist/domain/javascript/javascriptApplicationAnalysis.js"; /** Verify exact exported bytes and the independently authored source manifest. */ export const assertWebScriptExport = async (evidence, capture, assets) => { diff --git a/scripts/lib/catalog-core.mjs b/scripts/lib/catalog-core.mjs index 91e357241..a1559d4c8 100644 --- a/scripts/lib/catalog-core.mjs +++ b/scripts/lib/catalog-core.mjs @@ -50,13 +50,13 @@ const SOURCE_PATHS = { managedWorkflowContracts: "dist/contracts/managedWorkflowToolContracts.js", browserContracts: "dist/contracts/browserToolContracts.js", browserScenarioContracts: "dist/contracts/browserScenarioToolContracts.js", - electronContracts: "dist/contracts/electronToolContracts.js", + electronContracts: "dist/contracts/javascript/electronToolContracts.js", javascriptRuntimeObservationContracts: - "dist/contracts/javascriptRuntimeObservationToolContracts.js", + "dist/contracts/javascript/javascriptRuntimeObservationToolContracts.js", applicationContracts: "dist/contracts/applicationToolContracts.js", webScriptContracts: "dist/contracts/webScriptToolContracts.js", javascriptRecoveryContracts: - "dist/contracts/javascriptRecoveryToolContracts.js", + "dist/contracts/javascript/javascriptRecoveryToolContracts.js", javascriptRecoveryProvider: "dist/javascript/recovery/WakaruRelease.js", supportedClients: "dist/application/SupportedClients.js", hopperProvider: "dist/hopper/HopperProviderCapabilities.js", @@ -81,9 +81,11 @@ const SOURCE_PATHS = { browserScenarioCapture: "dist/domain/browserScenarioCapture.js", browserScenarioDiff: "dist/domain/browserScenarioDiff.js", browserSession: "dist/domain/browserSession.js", - electronObservation: "dist/domain/electronObservation.js", - electronActiveObservation: "dist/domain/electronActiveObservation.js", - javascriptRuntimeObservation: "dist/domain/javascriptRuntimeObservation.js", + electronObservation: "dist/domain/javascript/electronObservation.js", + electronActiveObservation: + "dist/domain/javascript/electronActiveObservation.js", + javascriptRuntimeObservation: + "dist/domain/javascript/javascriptRuntimeObservation.js", webBundleAnalysis: "dist/domain/webBundleAnalysis.js", webCaptureDiff: "dist/domain/webCaptureDiff.js", managedArtifact: "dist/domain/managedArtifact.js", @@ -91,14 +93,19 @@ const SOURCE_PATHS = { managedNativeVerification: "dist/domain/managedNativeVerification.js", webMcpDiscovery: "dist/domain/webMcpDiscovery.js", webScreenshot: "dist/domain/webScreenshot.js", - javascriptApplicationGraph: "dist/domain/javascriptApplicationGraph.js", - javascriptApplicationAnalysis: "dist/domain/javascriptApplicationAnalysis.js", - javascriptSemanticGraph: "dist/domain/javascriptSemanticGraph.js", - javascriptSemanticQuery: "dist/domain/javascriptSemanticQuerySchemas.js", - javascriptSemanticTrace: "dist/domain/javascriptSemanticTraceSchemas.js", - javascriptFeatureTrace: "dist/domain/javascriptFeatureTraceSchemas.js", + javascriptApplicationGraph: + "dist/domain/javascript/javascriptApplicationGraph.js", + javascriptApplicationAnalysis: + "dist/domain/javascript/javascriptApplicationAnalysis.js", + javascriptSemanticGraph: "dist/domain/javascript/javascriptSemanticGraph.js", + javascriptSemanticQuery: + "dist/domain/javascript/javascriptSemanticQuerySchemas.js", + javascriptSemanticTrace: + "dist/domain/javascript/javascriptSemanticTraceSchemas.js", + javascriptFeatureTrace: + "dist/domain/javascript/javascriptFeatureTraceSchemas.js", javascriptVersionComparison: - "dist/domain/javascriptApplicationVersionComparisonSchemas.js", + "dist/domain/javascript/javascriptApplicationVersionComparisonSchemas.js", reconstructionVerification: "dist/domain/reconstructionVerificationSchemas.js", residualUnknown: "dist/domain/residualUnknown.js", diff --git a/scripts/verify-real-electron.mjs b/scripts/verify-real-electron.mjs index f94028d91..bf6f2a169 100644 --- a/scripts/verify-real-electron.mjs +++ b/scripts/verify-real-electron.mjs @@ -4,7 +4,7 @@ import { join } from "node:path"; import { fileURLToPath } from "node:url"; import { PlaywrightElectronActiveProvider } from "../dist/browser/PlaywrightElectronActiveProvider.js"; -import { electronActiveObservationInputSchema } from "../dist/domain/electronActiveObservation.js"; +import { electronActiveObservationInputSchema } from "../dist/domain/javascript/electronActiveObservation.js"; import { completeVerifierRun, createVerifierRun } from "./lib/verifier-run.mjs"; const executable = process.env.REA_ELECTRON_EXECUTABLE; diff --git a/scripts/verify/android/analysis.mjs b/scripts/verify/android/analysis.mjs index 3f9c6a399..90ff16e0c 100644 --- a/scripts/verify/android/analysis.mjs +++ b/scripts/verify/android/analysis.mjs @@ -11,6 +11,7 @@ import { hashAndroidFile } from "../../../dist/android/AndroidTargetSnapshot.js" import { JADX_RELEASE } from "../../../dist/android/JadxRelease.js"; import fixture from "../../fixtures/android/apidemos.json" with { type: "json" }; import { verifyAndroidCliCancellation } from "./cli-cancellation.mjs"; +import { verifyAndroidMetadata } from "./metadata.mjs"; const repository = resolve(dirname(fileURLToPath(import.meta.url)), "../../.."); const apk = process.env.REA_ANDROID_TEST_APK; @@ -41,6 +42,14 @@ const entrypoint = process.env.REA_ANDROID_ENTRYPOINT ?? resolve(repository, "scripts/rea.mjs"); const environment = { ...process.env, REA_JADX_MCP_JAR: resolve(jar) }; const path = resolve(apk); +await verifyAndroidMetadata({ + java, + jar: resolve(jar), + apk: path, + repository, + execute, + bridge: resolve(dirname(entrypoint), "../bridge/android/ReaJadxBridge.java"), +}); const tasks = [ { name: "inspect_android_package", @@ -212,6 +221,8 @@ const report = { original_apk_unchanged: true, apk_executed: false, cli_sigterm_cleanup: true, + metadata_without_code_generation: true, + stable_overload_selection: true, }; if (process.env.REA_ANDROID_REPORT !== undefined) await writeFile( diff --git a/scripts/verify/android/cli-cancellation.mjs b/scripts/verify/android/cli-cancellation.mjs index a5e282888..849b0c59a 100644 --- a/scripts/verify/android/cli-cancellation.mjs +++ b/scripts/verify/android/cli-cancellation.mjs @@ -47,7 +47,7 @@ export const verifyAndroidCliCancellation = async ({ entry !== null && Number(entry[2]) === child.pid && entry[4].includes("engine.jar") && - entry[4].includes("-Xmx512m") + entry[4].includes("ReaJadxBridge.java") ) { group = Number(entry[3]); const runId = await readProcessRunId(Number(entry[1])); diff --git a/scripts/verify/android/metadata.mjs b/scripts/verify/android/metadata.mjs new file mode 100644 index 000000000..04dfc3b0a --- /dev/null +++ b/scripts/verify/android/metadata.mjs @@ -0,0 +1,64 @@ +import assert from "node:assert/strict"; +import { mkdtemp, rm } from "node:fs/promises"; +import { tmpdir } from "node:os"; +import { delimiter, join, resolve } from "node:path"; + +/** Prove cold metadata stays unmaterialized and overload identities survive code generation. */ +export const verifyAndroidMetadata = async ({ + java, + jar, + apk, + bridge, + repository, + execute, +}) => { + const javac = + process.env.JAVA_HOME === undefined + ? "javac" + : resolve(process.env.JAVA_HOME, "bin/javac"); + try { + await execute(javac, ["-version"], { timeout: 10_000 }); + } catch (cause) { + throw new Error( + "verify:android metadata requires the full selected JDK, including javac", + { cause }, + ); + } + const classes = await mkdtemp(join(tmpdir(), "rea-android-metadata-")); + try { + await execute( + javac, + [ + "-classpath", + jar, + "-d", + classes, + bridge, + resolve( + repository, + "tests/conformance/android/ReaJadxMetadataRegression.java", + ), + ], + { timeout: 30_000 }, + ); + const result = await execute( + java, + [ + "-classpath", + `${classes}${delimiter}${jar}`, + "ReaJadxMetadataRegression", + apk, + ], + { timeout: 120_000, maxBuffer: 8 * 1024 * 1024 }, + ); + assert.match( + result.stdout, + /METADATA_REGRESSION_PASS classes=\d+ overloads=3/u, + ); + console.log( + "PASS real cold metadata, full generic types and stable overloaded method selection", + ); + } finally { + await rm(classes, { recursive: true, force: true }); + } +}; diff --git a/scripts/verify/javascript/application-workflows.mjs b/scripts/verify/javascript/application-workflows.mjs index 4ca259c57..2c4680871 100644 --- a/scripts/verify/javascript/application-workflows.mjs +++ b/scripts/verify/javascript/application-workflows.mjs @@ -9,9 +9,9 @@ import { compareJavaScriptExportShapesEvidence, traceApplicationFeatureEvidence, } from "../../../dist/application/javascript/JavaScriptApplicationWorkflowService.js"; -import { applicationVersionComparisonResultSchema } from "../../../dist/domain/javascriptApplicationVersionComparisonSchemas.js"; -import { applicationFeatureTraceResultSchema } from "../../../dist/domain/javascriptFeatureTraceSchemas.js"; -import { javaScriptExportShapeComparisonResultSchema } from "../../../dist/domain/javascriptExportShapeComparisonSchemas.js"; +import { applicationVersionComparisonResultSchema } from "../../../dist/domain/javascript/javascriptApplicationVersionComparisonSchemas.js"; +import { applicationFeatureTraceResultSchema } from "../../../dist/domain/javascript/javascriptFeatureTraceSchemas.js"; +import { javaScriptExportShapeComparisonResultSchema } from "../../../dist/domain/javascript/javascriptExportShapeComparisonSchemas.js"; import { completeVerifierRun, createVerifierRun, diff --git a/scripts/verify/javascript/recovery.mjs b/scripts/verify/javascript/recovery.mjs index 7ec31abe9..f200b355a 100644 --- a/scripts/verify/javascript/recovery.mjs +++ b/scripts/verify/javascript/recovery.mjs @@ -10,7 +10,7 @@ import { promisify } from "node:util"; import { Client } from "@modelcontextprotocol/client"; import { StdioClientTransport } from "@modelcontextprotocol/client/stdio"; import { parseEvidence } from "../../../dist/domain/evidence.js"; -import { javascriptRecoveryResultSchema } from "../../../dist/domain/javascriptRecovery.js"; +import { javascriptRecoveryResultSchema } from "../../../dist/domain/javascript/javascriptRecovery.js"; import { buildRecoveryFixtures } from "../../fixtures/javascript-recovery/build.mjs"; import { mcpTextValue } from "../../lib/mcp-verifier-results.mjs"; diff --git a/skills/reverse-engineer-anything/SKILL.md b/skills/reverse-engineer-anything/SKILL.md index 0c0e099e7..d932b3181 100644 --- a/skills/reverse-engineer-anything/SKILL.md +++ b/skills/reverse-engineer-anything/SKILL.md @@ -4,7 +4,7 @@ description: Reverse engineer native, managed, Electron/JavaScript, packaged, fi metadata: version: "26" tool_count: 131 - catalog_digest: "ed73c7223190ce24d345afd05c3d7f2d00ed02a8f95590363d336fda12540995" + catalog_digest: "2b780592f00bd9bb79650a0ded8a034e2946fccef535343d935841dd42637c4b" --- # REA diff --git a/src/android/AndroidTargetSnapshot.ts b/src/android/AndroidTargetSnapshot.ts index ce7b3b826..2ffb20266 100644 --- a/src/android/AndroidTargetSnapshot.ts +++ b/src/android/AndroidTargetSnapshot.ts @@ -2,7 +2,10 @@ import { constants, createReadStream } from "node:fs"; import { chmod, copyFile } from "node:fs/promises"; import { createHash } from "node:crypto"; import { join } from "node:path"; -import { AnalysisInputError } from "../domain/analysisErrorCore.js"; +import { + AnalysisInputError, + AnalysisCapabilityUnavailableError, +} from "../domain/analysisErrorCore.js"; import type { AndroidOperation } from "../domain/android/androidAnalysis.js"; /** Stream a local file digest without retaining the APK or JAR in memory. */ @@ -37,10 +40,18 @@ export const snapshotAndroidTarget = async ( /** Fingerprint the actual immutable engine bytes executed for this observation. */ export const snapshotAndroidEngine = async ( source: string, + sha256: string, root: string, + operation: AndroidOperation, ): Promise<{ path: string; sha256: string }> => { const path = join(root, "engine.jar"); await copyFile(source, path, constants.COPYFILE_EXCL); await chmod(path, 0o400); - return { path, sha256: await hashAndroidFile(path) }; + if ((await hashAndroidFile(path)) !== sha256) + throw new AnalysisCapabilityUnavailableError( + "jadx", + operation, + "REA_JADX_MCP_JAR bytes changed during admission; retry with a stable engine file.", + ); + return { path, sha256 }; }; diff --git a/src/android/JadxAnalysis.ts b/src/android/JadxAnalysis.ts index 94e3cfa6e..68fa3d039 100644 --- a/src/android/JadxAnalysis.ts +++ b/src/android/JadxAnalysis.ts @@ -137,19 +137,20 @@ const searchClasses = async ( engine: Engine, ): Promise => { const classes: string[] = []; + const pageSize = 4096; let total: number | undefined; do { const page = jadxClassPageSchema.parse( await tools.json("list_classes", { offset: classes.length, - limit: 200, + limit: pageSize, }), ); if ( (total !== undefined && total !== page.total) || page.offset !== classes.length || - page.limit !== 200 || - page.items.length > 200 + page.limit !== pageSize || + page.items.length > pageSize ) throw new AnalysisOutputError( request.operation, @@ -307,7 +308,7 @@ const traceReferences = async ( throw new AnalysisCapabilityUnavailableError( "jadx", request.operation, - `JADX ${JADX_RELEASE.version} references select the first same-name method; ${summary.full_name}.${methodName} has ${candidates.length} overloads. No unambiguous reference result is available.`, + `References require a unique method name; ${summary.full_name}.${methodName} has ${candidates.length} overloads. No unambiguous reference result is available.`, ); const expectedTarget = methodName === undefined diff --git a/src/android/JadxConfiguration.ts b/src/android/JadxConfiguration.ts index 45a24b09c..81cb02d63 100644 --- a/src/android/JadxConfiguration.ts +++ b/src/android/JadxConfiguration.ts @@ -9,6 +9,7 @@ import { JADX_JAR_CONFIGURATION_REMEDIATION } from "./JadxRelease.js"; export interface JadxConfiguration { readonly jar: string; readonly java: string; + readonly jvmArguments: readonly string[]; } /** Admit explicit local tooling without installing or changing host configuration. */ @@ -20,7 +21,7 @@ export const resolveJadxConfiguration = async ( new AnalysisCapabilityUnavailableError("jadx", operation, reason); if (process.platform !== "linux" && process.platform !== "darwin") throw unavailable( - `Android JADX subprocess ownership is unsupported on ${process.platform}; use Linux or macOS. Only Linux has real-provider verification.`, + `Android JADX subprocess ownership is unsupported on ${process.platform}; use Linux or macOS. The metadata bridge has real-provider verification on macOS arm64.`, ); const jar = environment.REA_JADX_MCP_JAR; if (environment.JAVA_HOME !== undefined && !isAbsolute(environment.JAVA_HOME)) @@ -55,5 +56,25 @@ export const resolveJadxConfiguration = async ( ); } } - return { jar: await realpath(jar), java }; + const jvmArguments: string[] = []; + for (const [name, prefix, suffix] of [ + ["REA_JADX_HEAP_MIB", "-Xmx", "m"], + ["REA_JADX_ACTIVE_PROCESSOR_COUNT", "-XX:ActiveProcessorCount=", ""], + ] as const) { + const value = environment[name]; + if (value === undefined) continue; + if (!/^[1-9]\d*$/u.test(value) || !Number.isSafeInteger(Number(value))) + throw unavailable( + `${name} must be a positive safe integer; received ${value}.`, + ); + if ( + name === "REA_JADX_ACTIVE_PROCESSOR_COUNT" && + Number(value) > 2_147_483_647 + ) + throw unavailable( + `${name} exceeds the JVM's signed 32-bit processor-count range.`, + ); + jvmArguments.push(`${prefix}${value}${suffix}`); + } + return { jar: await realpath(jar), java, jvmArguments }; }; diff --git a/src/android/JadxMcpTransport.ts b/src/android/JadxMcpTransport.ts index e38d9964a..38cec998b 100644 --- a/src/android/JadxMcpTransport.ts +++ b/src/android/JadxMcpTransport.ts @@ -17,7 +17,7 @@ import { cleanupOwnedProcessGroup } from "../process/ProcessOwnership.js"; import { ProviderCleanupError } from "../domain/providerCleanupError.js"; const MAX_FRAME_BYTES = 8 * 1024 * 1024; -const MAX_SESSION_BYTES = 32 * 1024 * 1024; +const MAX_OPERATION_BYTES = 32 * 1024 * 1024; /** Injectable process acquisition seam; the production launcher owns a POSIX group. */ export type JadxLauncher = ( @@ -109,6 +109,12 @@ export class JadxMcpTransport implements Transport { return this.#failure; } + /** Scope both the byte budget and diagnostic retention to the next serialized request. */ + beginOperation(): void { + this.#bytes = 0; + this.#supervisor?.resetOutput(); + } + async #stop(): Promise { this.#closed = true; // A cancellation may race acquisition. Join it before inspecting ownership. @@ -136,10 +142,10 @@ export class JadxMcpTransport implements Transport { }; readonly #countStderr = (chunk: Buffer | string): void => { this.#bytes += Buffer.byteLength(chunk); - if (this.#bytes > MAX_SESSION_BYTES) + if (this.#bytes > MAX_OPERATION_BYTES) this.#fail( new Error( - `JADX session output exceeds ${MAX_SESSION_BYTES} bytes; no complete result is available`, + `JADX operation output exceeds ${MAX_OPERATION_BYTES} bytes; no complete result is available`, ), ); }; @@ -147,10 +153,10 @@ export class JadxMcpTransport implements Transport { if (this.#closed) return; const bytes = Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk); this.#bytes += bytes.length; - if (this.#bytes > MAX_SESSION_BYTES) { + if (this.#bytes > MAX_OPERATION_BYTES) { this.#fail( new Error( - `JADX session output exceeds ${MAX_SESSION_BYTES} bytes; no complete result is available`, + `JADX operation output exceeds ${MAX_OPERATION_BYTES} bytes; no complete result is available`, ), ); return; diff --git a/src/android/JadxProtocol.ts b/src/android/JadxProtocol.ts index 38b0d1db6..dd8933d29 100644 --- a/src/android/JadxProtocol.ts +++ b/src/android/JadxProtocol.ts @@ -4,6 +4,14 @@ import { jsonValueSchema } from "../domain/jsonValue.js"; import type { AndroidOperation } from "../domain/android/androidAnalysis.js"; const count = z.number().int().nonnegative(); +/** Values observed inside the exact JVM producing the analysis. */ +export const jadxRuntimeSchema = z.object({ + engine_reported_version: z.string().min(1), + max_heap_bytes: z.number().int().positive().safe(), + available_processors: z.number().int().positive(), + java_version: z.string().min(1), + metadata_scope: z.literal("parsed_members"), +}); export const jadxLoadSchema = z.object({ state: z.literal("LOADED"), apk_path: z.string(), diff --git a/src/android/JadxProvider.ts b/src/android/JadxProvider.ts index 7975c6cd4..31b43ebed 100644 --- a/src/android/JadxProvider.ts +++ b/src/android/JadxProvider.ts @@ -1,4 +1,7 @@ import { z } from "zod"; +import { chmod, copyFile } from "node:fs/promises"; +import { join } from "node:path"; +import { fileURLToPath } from "node:url"; import type { AndroidAnalysisPort } from "../application/android/AndroidAnalysisPort.js"; import type { ExecutionOptions } from "../application/AnalysisProvider.js"; import { AnalysisError } from "../domain/analysisErrorBase.js"; @@ -6,24 +9,29 @@ import { AnalysisCancelledError, AnalysisCapabilityUnavailableError, AnalysisOutputError, + AnalysisInputError, AnalysisTimeoutError, } from "../domain/analysisErrorCore.js"; import { ProviderAdapterError } from "../domain/providerAdapterError.js"; import { ProviderCleanupError } from "../domain/providerCleanupError.js"; import type { AndroidRequest } from "../domain/android/androidAnalysis.js"; import type { BinaryTarget } from "../domain/binaryTarget.js"; -import { err, ok } from "../domain/result.js"; +import { err, ok, type Result } from "../domain/result.js"; import { PrivateRuntimeRoot } from "../process/PrivateRuntimeRoot.js"; import { snapshotAndroidEngine, + hashAndroidFile, snapshotAndroidTarget, } from "./AndroidTargetSnapshot.js"; import { resolveJadxConfiguration } from "./JadxConfiguration.js"; import type { JadxLauncher } from "./JadxMcpTransport.js"; -import { JADX_HEAP_XMX_ARGUMENT } from "./JadxRelease.js"; + import { JadxSession } from "./JadxSession.js"; const OPERATION_TIMEOUT_MS = 120_000; +const BRIDGE_SOURCE = fileURLToPath( + new URL("../../bridge/android/ReaJadxBridge.java", import.meta.url), +); type Outcome = Awaited>; const waitForTurn = ( @@ -74,11 +82,11 @@ const executionError = (context: { }); }; -const cleanup = async ( +const cleanup = async ( session: JadxSession | undefined, root: PrivateRuntimeRoot | undefined, - previous: Outcome, -): Promise => { + previous: Result, +): Promise> => { const diagnostics = { previous_error: previous.ok ? null @@ -125,10 +133,23 @@ const cleanup = async ( return previous; }; -/** One queued engine per REA instance, with a fresh owned workspace for every request. */ +interface RetainedSession { + readonly key: string; + readonly root: PrivateRuntimeRoot; + readonly session: JadxSession; + readonly snapshot: string; + readonly jarHash: string; + readonly bridgeHash: string; +} + +/** One serialized, immutable APK session per REA instance, retired on idle or shutdown. */ export class JadxProvider implements AndroidAnalysisPort { #tail: Promise = Promise.resolve(); #cleanupFailure: AnalysisError | undefined; + #retained: RetainedSession | undefined; + #idle: NodeJS.Timeout | undefined; + readonly #shutdown = new AbortController(); + #closePromise: Promise | undefined; constructor( readonly environment: Readonly< Record @@ -142,30 +163,69 @@ export class JadxProvider implements AndroidAnalysisPort { request: AndroidRequest, options?: ExecutionOptions, ): Promise { + if (this.#shutdown.signal.aborted) + return err(new AnalysisCancelledError(request.operation)); + const signal = + options?.signal === undefined + ? this.#shutdown.signal + : AbortSignal.any([options.signal, this.#shutdown.signal]); const predecessor = this.#tail; let release: () => void = () => {}; this.#tail = new Promise((resolve) => { release = resolve; }); try { - await waitForTurn(predecessor, request, options?.signal); + await waitForTurn(predecessor, request, signal); } catch { void predecessor.then(release); return err(new AnalysisCancelledError(request.operation)); } try { - if (options?.signal?.aborted === true) + if (signal.aborted) return err(new AnalysisCancelledError(request.operation)); if (this.#cleanupFailure !== undefined) return err(this.#cleanupFailure); - const outcome = await this.#execute(target, request, options); + clearTimeout(this.#idle); + const outcome = await this.#execute(target, request, { signal }); if (!outcome.ok && outcome.error.cleanupIncomplete) this.#cleanupFailure = outcome.error; + if (outcome.ok) this.#scheduleIdle(); return outcome; } finally { release(); } } + /** Cancel queued/active operations and join the owned engine and workspace cleanup. */ + close(): Promise { + this.#shutdown.abort(); + clearTimeout(this.#idle); + this.#closePromise ??= this.#tail.then(() => this.#retire()); + return this.#closePromise; + } + + async #retire(): Promise { + if (this.#cleanupFailure !== undefined) throw this.#cleanupFailure; + const retained = this.#retained; + this.#retained = undefined; + const result = await cleanup( + retained?.session, + retained?.root, + ok(undefined), + ); + if (!result.ok) { + this.#cleanupFailure = result.error; + throw result.error; + } + } + + #scheduleIdle(): void { + this.#idle = setTimeout(() => { + const retirement = this.#tail.then(() => this.#retire()); + this.#tail = retirement.catch(() => undefined); + }, 60_000); + this.#idle.unref(); + } + async #execute( target: BinaryTarget, request: AndroidRequest, @@ -191,47 +251,99 @@ export class JadxProvider implements AndroidAnalysisPort { request.operation, ); signal.throwIfAborted(); - root = await PrivateRuntimeRoot.create({ prefix: "rea-android-" }); - const engine = await snapshotAndroidEngine(configuration.jar, root.path); - const snapshot = await snapshotAndroidTarget( - target.path, - target.sha256, - root.path, - request.operation, - ); - signal.throwIfAborted(); - session = new JadxSession( - { - command: configuration.java, - arguments: [ - JADX_HEAP_XMX_ARGUMENT, - "-XX:ActiveProcessorCount=1", - "-jar", - engine.path, - "--threads", - "1", - "--max-source-bytes", - "1048576", - "--decompile-timeout-ms", - "90000", - ], - cwd: root.path, - hostEnvironment: this.environment, - env: { - _JAVA_OPTIONS: `${JADX_HEAP_XMX_ARGUMENT} -XX:ActiveProcessorCount=1`, + const jarHash = await hashAndroidFile(configuration.jar); + const bridgeHash = await hashAndroidFile(BRIDGE_SOURCE); + if ((await hashAndroidFile(target.path)) !== target.sha256) + throw new AnalysisInputError(request.operation, undefined, [ + { + path: ["path"], + reason: "invalid_value", + message: + "APK bytes changed after admission; retry against a stable file.", }, - }, - this.launcher, - ); + ]); + const key = JSON.stringify({ + path: target.path, + sha256: target.sha256, + jar: configuration.jar, + jarHash, + bridgeHash, + java: configuration.java, + arguments: configuration.jvmArguments, + options: [ + this.environment.JAVA_TOOL_OPTIONS, + this.environment._JAVA_OPTIONS, + this.environment.JDK_JAVA_OPTIONS, + this.environment.PATH, + this.environment.JAVA_HOME, + ], + }); + if (this.#retained !== undefined && this.#retained.key !== key) + await this.#retire(); + let retained = this.#retained; + if (retained === undefined) { + root = await PrivateRuntimeRoot.create({ prefix: "rea-android-" }); + const engine = await snapshotAndroidEngine( + configuration.jar, + jarHash, + root.path, + request.operation, + ); + const snapshot = await snapshotAndroidTarget( + target.path, + target.sha256, + root.path, + request.operation, + ); + const bridge = join(root.path, "ReaJadxBridge.java"); + await copyFile(BRIDGE_SOURCE, bridge); + await chmod(bridge, 0o400); + if ((await hashAndroidFile(bridge)) !== bridgeHash) + throw new AnalysisCapabilityUnavailableError( + "jadx", + request.operation, + "REA Android bridge bytes changed during admission; retry with a stable installation.", + ); + signal.throwIfAborted(); + session = new JadxSession( + { + command: configuration.java, + arguments: [ + ...configuration.jvmArguments, + "--class-path", + engine.path, + bridge, + ], + cwd: root.path, + hostEnvironment: this.environment, + }, + this.launcher, + ); + retained = { + key, + root, + session, + snapshot, + jarHash: engine.sha256, + bridgeHash, + }; + } + root = retained.root; + session = retained.session; + const { snapshot } = retained; outcome = ok( await session.execute({ request, target, snapshot, - jarHash: engine.sha256, + jarHash: retained.jarHash, + bridgeHash: retained.bridgeHash, signal, }), ); + signal.throwIfAborted(); + this.#retained = retained; + return outcome; } catch (cause) { outcome = err( executionError({ @@ -243,6 +355,10 @@ export class JadxProvider implements AndroidAnalysisPort { }), ); } + // An existing session also needs retirement when admission fails before selection. + root ??= this.#retained?.root; + session ??= this.#retained?.session; + this.#retained = undefined; return cleanup(session, root, outcome); } } diff --git a/src/android/JadxRelease.ts b/src/android/JadxRelease.ts index aa48f7b84..b5b6bd058 100644 --- a/src/android/JadxRelease.ts +++ b/src/android/JadxRelease.ts @@ -6,11 +6,11 @@ export const JADX_RELEASE = Object.freeze({ url: "https://github.com/1013503897/jadx-headless-mcp/releases/download/v0.7.1/jadx-headless-mcp-0.7.1-all.jar", }); -/** JVM heap ceiling applied to every owned JADX worker process. */ -export const JADX_HEAP_LIMIT_MIB = 512; - -/** JVM `-Xmx` argument matching {@link JADX_HEAP_LIMIT_MIB}. */ -export const JADX_HEAP_XMX_ARGUMENT = `-Xmx${JADX_HEAP_LIMIT_MIB}m`; +/** Identity of REA's metadata bridge, distinct from the producing engine. */ +export const JADX_BRIDGE_IDENTITY = Object.freeze({ + name: "rea-jadx-bridge", + version: "1", +}); /** Remediation when `REA_JADX_MCP_JAR` is missing or not an absolute path. */ export const JADX_JAR_CONFIGURATION_REMEDIATION = `Set REA_JADX_MCP_JAR to the absolute path of a caller-supplied jadx-headless-mcp ${JADX_RELEASE.version} JAR. REA does not download or install it.`; @@ -26,5 +26,6 @@ export const JADX_PROVIDER_IDENTITY = Object.freeze({ export const JADX_LIMITATIONS = [ "Static decompiler observations do not establish runtime behavior; the APK is never executed.", "Method signatures use provider display types; exact DEX descriptors and instruction offsets are unavailable. Overload indices are local to this engine and artifact.", + "Class inventories use parsed metadata before code generation, including synthetic members that may be omitted from decompiled source. Source positions remain unknown.", "Manifest summary fields are extracted by the upstream engine; decoded XML is retained for verification. APK signatures, split APKs, native libraries and Android runtime capture are not verified by this provider.", ] as const; diff --git a/src/android/JadxSession.ts b/src/android/JadxSession.ts index 8e81d6dd8..87308b1d8 100644 --- a/src/android/JadxSession.ts +++ b/src/android/JadxSession.ts @@ -16,11 +16,12 @@ import { analyzeJadxRequest, type JadxToolPort } from "./JadxAnalysis.js"; import { JadxMcpTransport, type JadxLauncher } from "./JadxMcpTransport.js"; import { jadxLoadSchema, + jadxRuntimeSchema, parseJadxEnvelope, parseJadxJson, } from "./JadxProtocol.js"; import { - JADX_HEAP_LIMIT_MIB, + JADX_BRIDGE_IDENTITY, JADX_RELEASE, JADX_PROVIDER_IDENTITY, JADX_LIMITATIONS, @@ -30,7 +31,7 @@ import { export class JadxSession { readonly transport: JadxMcpTransport; readonly #client = new Client({ name: "rea-android-adapter", version: "1" }); - readonly #raw: JsonValue[] = []; + #loaded: ReturnType | undefined; constructor( options: Omit, @@ -45,6 +46,7 @@ export class JadxSession { readonly target: BinaryTarget; readonly snapshot: string; readonly jarHash: string; + readonly bridgeHash: string; readonly signal: AbortSignal; }): Promise { const { request, target, snapshot, jarHash, signal } = context; @@ -54,42 +56,64 @@ export class JadxSession { signal.addEventListener("abort", abort, { once: true }); try { signal.throwIfAborted(); - await this.#client.connect(this.transport, { timeout: 30_000 }); + this.transport.beginOperation(); + const raw: JsonValue[] = []; + if (this.#loaded === undefined) + await this.#client.connect(this.transport, { timeout: 30_000 }); const server = this.#client.getServerVersion(); if ( - server?.name !== "jadx-headless-mcp" || - server.version !== JADX_RELEASE.version + server?.name !== JADX_BRIDGE_IDENTITY.name || + server.version !== JADX_BRIDGE_IDENTITY.version ) throw new AnalysisCapabilityUnavailableError( "jadx", request.operation, - `Expected jadx-headless-mcp ${JADX_RELEASE.version}; server reported ${server?.name ?? "unknown"} ${server?.version ?? "unknown"}.`, + `Expected ${JADX_BRIDGE_IDENTITY.name} ${JADX_BRIDGE_IDENTITY.version}; server reported ${server?.name ?? "unknown"} ${server?.version ?? "unknown"}.`, ); - const tools = this.#tools(request, target, signal); - const loaded = jadxLoadSchema.parse( - await tools.json("load_apk", { - path: snapshot, - threads: 1, - resources: "full", - }), + const tools = this.#tools(request, target, signal, raw); + const runtime = jadxRuntimeSchema.parse( + await tools.json("rea_jvm_status", {}), ); + if (runtime.engine_reported_version !== JADX_RELEASE.version) + throw new AnalysisCapabilityUnavailableError( + "jadx", + request.operation, + `Expected engine ${JADX_RELEASE.version}; JAR reported ${runtime.engine_reported_version}.`, + ); + const loaded = + this.#loaded ?? + jadxLoadSchema.parse( + await tools.json("load_apk", { + path: snapshot, + threads: 1, + resources: "full", + }), + ); if (loaded.apk_path !== snapshot) throw new AnalysisOutputError( request.operation, "JADX loaded a different APK path than the admitted snapshot", ); + this.#loaded = loaded; const engine = { name: "jadx-headless-mcp", - version: JADX_RELEASE.version, + version: runtime.engine_reported_version, artifact_sha256: jarHash, source_revision: jarHash === JADX_RELEASE.sha256 ? JADX_RELEASE.revision : null, worker_count: 1, - heap_limit_mib: JADX_HEAP_LIMIT_MIB, + heap_limit_mib: + Math.floor(runtime.max_heap_bytes / (1024 * 1024)) || null, } as const; const result = await analyzeJadxRequest(tools, request, loaded, engine); return createAnalysisExecution(result, JADX_PROVIDER_IDENTITY, { - rawResult: { server, jar_sha256: jarHash, calls: this.#raw }, + rawResult: { + server, + bridge_sha256: context.bridgeHash, + jar_sha256: jarHash, + loaded, + calls: raw, + }, subject: target, limitations: JADX_LIMITATIONS, locations: @@ -115,6 +139,7 @@ export class JadxSession { request: AndroidRequest, target: BinaryTarget, signal: AbortSignal, + raw: JsonValue[], ): JadxToolPort { const call = async ( name: string, @@ -126,7 +151,7 @@ export class JadxSession { { timeout: 120_000, signal }, ); const envelope = parseJadxEnvelope(response, request.operation); - this.#raw.push({ + raw.push({ operation: name, input, response: jsonValueSchema.parse(response), diff --git a/src/application/EvidenceInputResolver.test.ts b/src/application/EvidenceInputResolver.test.ts index 11491b1d2..9fa0750a5 100644 --- a/src/application/EvidenceInputResolver.test.ts +++ b/src/application/EvidenceInputResolver.test.ts @@ -1,6 +1,6 @@ import { describe, expect, it } from "vitest"; import { evidenceInputSchema } from "../contracts/evidenceInputContracts.js"; -import { JAVASCRIPT_FEATURE_TRACE_EXAMPLE } from "../contracts/javascriptApplicationWorkflowExamples.js"; +import { JAVASCRIPT_FEATURE_TRACE_EXAMPLE } from "../contracts/javascript/javascriptApplicationWorkflowExamples.js"; import { projectAnalysisError } from "../domain/analysisErrorProjection.js"; import { EvidenceLedger } from "./investigation/EvidenceLedger.js"; import { resolveEvidenceInput } from "./EvidenceInputResolver.js"; diff --git a/src/application/InterfaceBuilderAnalysis.ts b/src/application/InterfaceBuilderAnalysis.ts index 697a1fd8f..3d2631394 100644 --- a/src/application/InterfaceBuilderAnalysis.ts +++ b/src/application/InterfaceBuilderAnalysis.ts @@ -2,7 +2,10 @@ import { createHash } from "node:crypto"; import { parseBinary } from "plist"; import { DirectoryArtifactReader } from "../artifacts/DirectoryArtifactReader.js"; -import { parseXmlPropertyList } from "../domain/propertyListKeys.js"; +import { + omittedPrototypeKeysLimitation, + parseXmlPropertyList, +} from "../domain/propertyListKeys.js"; import { decodeNibArchive, type NibArchiveDocument, @@ -34,6 +37,7 @@ export const analyzeInterfaceBuilderBundle = async (input: { const documents: InterfaceBuilderDocumentInput[] = []; const invalid: string[] = []; const incompleteHierarchies = new Map(); + const prototypeKeyOmissions = new Map(); let omitted = 0; let attempted = 0; try { @@ -51,9 +55,14 @@ export const analyzeInterfaceBuilderBundle = async (input: { bytes.subarray(0, 10).toString("ascii") === "NIBArchive" ? projectNibArchive(decodeNibArchive(bytes)) : null; - const raw = nib === null ? decodePlist(bytes) : nib.raw; + const { value: raw, omittedPrototypeKeys } = + nib === null + ? decodePlist(bytes) + : { value: nib.raw, omittedPrototypeKeys: 0 }; if (nib !== null && nib.omitted > 0) incompleteHierarchies.set(entry.path, nib.omitted); + if (omittedPrototypeKeys > 0) + prototypeKeyOmissions.set(entry.path, omittedPrototypeKeys); const documentHash = createHash("sha256").update(bytes).digest("hex"); documents.push({ relativePath: entry.path, @@ -81,6 +90,7 @@ export const analyzeInterfaceBuilderBundle = async (input: { }); return finalizeHierarchyCoverage(result, { incompleteHierarchies, + prototypeKeyOmissions, invalid, attempted, omitted, @@ -91,12 +101,15 @@ const finalizeHierarchyCoverage = ( result: ReturnType, counts: { incompleteHierarchies: ReadonlyMap; + prototypeKeyOmissions: ReadonlyMap; invalid: readonly string[]; attempted: number; omitted: number; }, ) => { - const { incompleteHierarchies, invalid } = counts; + const { incompleteHierarchies, prototypeKeyOmissions, invalid } = counts; + const archiveDecodePartial = + invalid.length > 0 || prototypeKeyOmissions.size > 0; return { ...result, documents: result.documents.map((document) => ({ @@ -123,9 +136,15 @@ const finalizeHierarchyCoverage = ( }), { facet: "archive_decode", - status: - invalid.length > 0 ? ("partial" as const) : ("complete" as const), - reason: invalid.length > 0 ? "one_or_more_archives_invalid" : null, + status: archiveDecodePartial + ? ("partial" as const) + : ("complete" as const), + reason: + invalid.length > 0 + ? "one_or_more_archives_invalid" + : prototypeKeyOmissions.size > 0 + ? "dictionary_entries_omitted" + : null, examined: counts.attempted, omitted: counts.omitted, }, @@ -133,7 +152,7 @@ const finalizeHierarchyCoverage = ( truncated: result.graph.truncated || counts.omitted > 0 || - invalid.length > 0 || + archiveDecodePartial || incompleteHierarchies.size > 0, }, limitations: [ @@ -149,6 +168,9 @@ const finalizeHierarchyCoverage = ( : [ `Some Interface Builder archives could not be decoded: ${invalid.slice(0, 16).join("; ")}`, ]), + ...[...prototypeKeyOmissions].map( + ([path, count]) => `${path}: ${omittedPrototypeKeysLimitation(count)}`, + ), ], }; }; @@ -370,10 +392,12 @@ const readEntry = async ( return Buffer.concat(chunks, length); }; -const decodePlist = (bytes: Buffer): JsonValue => { - const parsed = +const decodePlist = ( + bytes: Buffer, +): { readonly value: JsonValue; readonly omittedPrototypeKeys: number } => { + const { value, omittedPrototypeKeys } = bytes.subarray(0, 8).toString("ascii") === "bplist00" - ? parseBinary(bytes) - : parseXmlPropertyList(bytes.toString("utf8")).value; - return jsonValueSchema.parse(parsed); + ? { value: parseBinary(bytes), omittedPrototypeKeys: 0 } + : parseXmlPropertyList(bytes.toString("utf8")); + return { value: jsonValueSchema.parse(value), omittedPrototypeKeys }; }; diff --git a/src/application/ReconstructionObligationCandidates.test.ts b/src/application/ReconstructionObligationCandidates.test.ts index ea96c3527..d3ddc3224 100644 --- a/src/application/ReconstructionObligationCandidates.test.ts +++ b/src/application/ReconstructionObligationCandidates.test.ts @@ -7,11 +7,11 @@ import { artifactEvidence, buildSyntheticJavaScriptApplicationGraph, completeCoverage, -} from "../domain/javascriptApplicationGraph.fixture.js"; +} from "../domain/javascript/javascriptApplicationGraph.fixture.js"; import { createJavaScriptApplicationGraph, createJavaScriptApplicationNode, -} from "../domain/javascriptApplicationGraph.js"; +} from "../domain/javascript/javascriptApplicationGraph.js"; import { jsonValueSchema } from "../domain/jsonValue.js"; import { MANAGED_WORKFLOW_PROVIDER } from "./InvestigationProviders.js"; import { deriveReconstructionObligationCandidates } from "./ReconstructionObligationCandidates.js"; diff --git a/src/application/android/AndroidAnalysisPort.ts b/src/application/android/AndroidAnalysisPort.ts index 3a2f56f23..66ce27abf 100644 --- a/src/application/android/AndroidAnalysisPort.ts +++ b/src/application/android/AndroidAnalysisPort.ts @@ -9,6 +9,8 @@ import type { Result } from "../../domain/result.js"; /** Static Android inspection boundary; implementation details belong to the provider. */ export interface AndroidAnalysisPort { + /** Cancel active work and join cleanup of any retained provider resources. */ + close(): Promise; execute( target: BinaryTarget, request: AndroidRequest, diff --git a/src/application/javascript/ElectronActiveEvidence.ts b/src/application/javascript/ElectronActiveEvidence.ts index 192b2f2d4..6b77dd28c 100644 --- a/src/application/javascript/ElectronActiveEvidence.ts +++ b/src/application/javascript/ElectronActiveEvidence.ts @@ -5,7 +5,7 @@ import { createEvidence } from "../../domain/evidence.js"; import type { ElectronActiveObservationInput, ElectronActiveObservationResult, -} from "../../domain/electronActiveObservation.js"; +} from "../../domain/javascript/electronActiveObservation.js"; import { jsonValueSchema } from "../../domain/jsonValue.js"; type CanonicalElectronActiveObservationInput = diff --git a/src/application/javascript/ElectronActiveObservationPort.ts b/src/application/javascript/ElectronActiveObservationPort.ts index 884f23c05..56083c25e 100644 --- a/src/application/javascript/ElectronActiveObservationPort.ts +++ b/src/application/javascript/ElectronActiveObservationPort.ts @@ -6,7 +6,7 @@ import type { AnalysisError } from "../../domain/analysisErrorBase.js"; import type { ElectronActiveObservationInput, ElectronActiveObservationResult, -} from "../../domain/electronActiveObservation.js"; +} from "../../domain/javascript/electronActiveObservation.js"; import type { Result } from "../../domain/result.js"; /** Provider-neutral boundary for owned Electron runtime experiments. */ diff --git a/src/application/javascript/ElectronActiveObservationService.ts b/src/application/javascript/ElectronActiveObservationService.ts index feaa000d8..276dc5c17 100644 --- a/src/application/javascript/ElectronActiveObservationService.ts +++ b/src/application/javascript/ElectronActiveObservationService.ts @@ -9,7 +9,7 @@ import { } from "../../domain/analysisErrorCore.js"; import { type AnalysisError } from "../../domain/analysisErrorBase.js"; import type { Evidence } from "../../domain/evidence.js"; -import type { ElectronActiveObservationInput } from "../../domain/electronActiveObservation.js"; +import type { ElectronActiveObservationInput } from "../../domain/javascript/electronActiveObservation.js"; import { err, type Result } from "../../domain/result.js"; import { createElectronActiveEvidence } from "./ElectronActiveEvidence.js"; diff --git a/src/application/javascript/ElectronBoundaryAnalysis.ts b/src/application/javascript/ElectronBoundaryAnalysis.ts index f2de1746c..eff377b71 100644 --- a/src/application/javascript/ElectronBoundaryAnalysis.ts +++ b/src/application/javascript/ElectronBoundaryAnalysis.ts @@ -1,6 +1,6 @@ import { compareCodePoints } from "../../domain/canonicalOrdering.js"; -import type { ElectronIpcFinding } from "../../domain/electronStaticAnalysisTypes.js"; -import type { ElectronBoundarySummary } from "../../domain/javascriptApplicationAnalysis.js"; +import type { ElectronIpcFinding } from "../../domain/javascript/electronStaticAnalysisTypes.js"; +import type { ElectronBoundarySummary } from "../../domain/javascript/javascriptApplicationAnalysis.js"; import type { JavaScriptArtifactAnalysis } from "./JavaScriptArtifactAnalysisTypes.js"; import type { JavaScriptArtifactFile } from "./JavaScriptArtifactFiles.js"; import { resolveArtifactPathByContext } from "./JavaScriptArtifactPathResolution.js"; diff --git a/src/application/javascript/ElectronBoundaryGraphContext.ts b/src/application/javascript/ElectronBoundaryGraphContext.ts index 47c5ac7bd..78e59d74b 100644 --- a/src/application/javascript/ElectronBoundaryGraphContext.ts +++ b/src/application/javascript/ElectronBoundaryGraphContext.ts @@ -1,6 +1,6 @@ -import type { ApplicationNode } from "../../domain/javascriptApplicationGraph.js"; -import { sha256Text } from "../../domain/javascriptStaticAnalysisHelpers.js"; -import type { JavaScriptSourceRange } from "../../domain/javascriptStaticAnalysisTypes.js"; +import type { ApplicationNode } from "../../domain/javascript/javascriptApplicationGraph.js"; +import { sha256Text } from "../../domain/javascript/javascriptStaticAnalysisHelpers.js"; +import type { JavaScriptSourceRange } from "../../domain/javascript/javascriptStaticAnalysisTypes.js"; import type { JavaScriptArtifactFile } from "./JavaScriptArtifactFiles.js"; import type { JavaScriptArtifactGraphContext, diff --git a/src/application/javascript/ElectronBoundaryGraphIpc.ts b/src/application/javascript/ElectronBoundaryGraphIpc.ts index a15081e68..51139b6d4 100644 --- a/src/application/javascript/ElectronBoundaryGraphIpc.ts +++ b/src/application/javascript/ElectronBoundaryGraphIpc.ts @@ -1,5 +1,5 @@ -import type { ApplicationNode } from "../../domain/javascriptApplicationGraph.js"; -import type { ElectronSenderValidationFinding } from "../../domain/electronStaticAnalysisTypes.js"; +import type { ApplicationNode } from "../../domain/javascript/javascriptApplicationGraph.js"; +import type { ElectronSenderValidationFinding } from "../../domain/javascript/electronStaticAnalysisTypes.js"; import type { JavaScriptArtifactFile } from "./JavaScriptArtifactFiles.js"; import { artifactLocalIdentity, diff --git a/src/application/javascript/ElectronBoundaryGraphNative.ts b/src/application/javascript/ElectronBoundaryGraphNative.ts index 3e5db27d8..27e628428 100644 --- a/src/application/javascript/ElectronBoundaryGraphNative.ts +++ b/src/application/javascript/ElectronBoundaryGraphNative.ts @@ -1,4 +1,4 @@ -import type { ElectronNativeAddonBindingFinding } from "../../domain/electronStaticAnalysisTypes.js"; +import type { ElectronNativeAddonBindingFinding } from "../../domain/javascript/electronStaticAnalysisTypes.js"; import type { JavaScriptArtifactFile } from "./JavaScriptArtifactFiles.js"; import { javascriptAnalysisCoverage, diff --git a/src/application/javascript/ElectronBoundaryGraphWindows.ts b/src/application/javascript/ElectronBoundaryGraphWindows.ts index dae3f4b4d..2bce47d24 100644 --- a/src/application/javascript/ElectronBoundaryGraphWindows.ts +++ b/src/application/javascript/ElectronBoundaryGraphWindows.ts @@ -1,9 +1,9 @@ -import type { ApplicationNode } from "../../domain/javascriptApplicationGraph.js"; +import type { ApplicationNode } from "../../domain/javascript/javascriptApplicationGraph.js"; import type { ElectronBrowserWindowFinding, ElectronContextBridgeFinding, ElectronUtilityProcessFinding, -} from "../../domain/electronStaticAnalysisTypes.js"; +} from "../../domain/javascript/electronStaticAnalysisTypes.js"; import type { JavaScriptArtifactFile } from "./JavaScriptArtifactFiles.js"; import { artifactLocalIdentity, diff --git a/src/application/javascript/ElectronEvidence.ts b/src/application/javascript/ElectronEvidence.ts index 0608828ae..056bb085d 100644 --- a/src/application/javascript/ElectronEvidence.ts +++ b/src/application/javascript/ElectronEvidence.ts @@ -10,7 +10,7 @@ import type { ElectronTargetList, InspectElectronPageInput, ListElectronTargetsInput, -} from "../../domain/electronObservation.js"; +} from "../../domain/javascript/electronObservation.js"; type ElectronOperation = "list_electron_targets" | "inspect_electron_page"; diff --git a/src/application/javascript/ElectronObservationPort.ts b/src/application/javascript/ElectronObservationPort.ts index 85b9e2574..9e1722570 100644 --- a/src/application/javascript/ElectronObservationPort.ts +++ b/src/application/javascript/ElectronObservationPort.ts @@ -8,7 +8,7 @@ import type { ElectronTargetList, InspectElectronPageInput, ListElectronTargetsInput, -} from "../../domain/electronObservation.js"; +} from "../../domain/javascript/electronObservation.js"; import type { Result } from "../../domain/result.js"; /** Provider-neutral boundary for root-confined Electron file-page observation. */ diff --git a/src/application/javascript/ElectronObservationService.ts b/src/application/javascript/ElectronObservationService.ts index 4542302a1..4149db187 100644 --- a/src/application/javascript/ElectronObservationService.ts +++ b/src/application/javascript/ElectronObservationService.ts @@ -4,7 +4,7 @@ import type { Evidence } from "../../domain/evidence.js"; import type { InspectElectronPageInput, ListElectronTargetsInput, -} from "../../domain/electronObservation.js"; +} from "../../domain/javascript/electronObservation.js"; import { AnalysisCapabilityUnavailableError } from "../../domain/analysisErrorCore.js"; import { type AnalysisError } from "../../domain/analysisErrorBase.js"; import { err, ok, type Result } from "../../domain/result.js"; diff --git a/src/application/javascript/JavaScriptApplicationEmptyLiterals.test.ts b/src/application/javascript/JavaScriptApplicationEmptyLiterals.test.ts index 01b223f32..a3a425bf9 100644 --- a/src/application/javascript/JavaScriptApplicationEmptyLiterals.test.ts +++ b/src/application/javascript/JavaScriptApplicationEmptyLiterals.test.ts @@ -6,10 +6,10 @@ import { expect, it } from "vitest"; import { z } from "zod"; import { createTestTempDirectory } from "../../../tests/fixtures/temporaryDirectory.js"; -import { javascriptApplicationAnalysisResultSchema } from "../../domain/javascriptApplicationAnalysis.js"; -import { matchJavaScriptApplicationVersions } from "../../domain/javascriptApplicationVersionKeys.js"; -import { findApplicationFeatureSeeds } from "../../domain/javascriptFeatureSeed.js"; -import { traceApplicationFeatureInputSchema } from "../../domain/javascriptFeatureTraceSchemas.js"; +import { javascriptApplicationAnalysisResultSchema } from "../../domain/javascript/javascriptApplicationAnalysis.js"; +import { matchJavaScriptApplicationVersions } from "../../domain/javascript/javascriptApplicationVersionKeys.js"; +import { findApplicationFeatureSeeds } from "../../domain/javascript/javascriptFeatureSeed.js"; +import { traceApplicationFeatureInputSchema } from "../../domain/javascript/javascriptFeatureTraceSchemas.js"; import { analyzeJavaScriptApplication } from "./JavaScriptApplicationService.js"; const analyzeSource = async ( diff --git a/src/application/javascript/JavaScriptApplicationEvidence.ts b/src/application/javascript/JavaScriptApplicationEvidence.ts index 644c22d90..cb33dc58e 100644 --- a/src/application/javascript/JavaScriptApplicationEvidence.ts +++ b/src/application/javascript/JavaScriptApplicationEvidence.ts @@ -6,7 +6,7 @@ import { import type { AnalyzeJavaScriptApplicationInput, JavaScriptApplicationAnalysisResult, -} from "../../domain/javascriptApplicationAnalysis.js"; +} from "../../domain/javascript/javascriptApplicationAnalysis.js"; import { jsonValueSchema } from "../../domain/jsonValue.js"; import { JAVASCRIPT_APPLICATION_PROVIDER } from "../InvestigationProviders.js"; diff --git a/src/application/javascript/JavaScriptApplicationEvidenceGraph.ts b/src/application/javascript/JavaScriptApplicationEvidenceGraph.ts index 712bb9eb3..622e5f028 100644 --- a/src/application/javascript/JavaScriptApplicationEvidenceGraph.ts +++ b/src/application/javascript/JavaScriptApplicationEvidenceGraph.ts @@ -8,10 +8,10 @@ import { analyzeJavaScriptApplicationInputSchema, javascriptApplicationAnalysisResultSchema, type JavaScriptApplicationAnalysisResult, -} from "../../domain/javascriptApplicationAnalysis.js"; -import type { JavaScriptApplicationGraph } from "../../domain/javascriptApplicationGraph.js"; -import type { JavaScriptSemanticGraph } from "../../domain/javascriptSemanticGraph.js"; -import { javascriptRuntimeReconciliationResultSchema } from "../../domain/javascriptRuntimeReconciliationSchemas.js"; +} from "../../domain/javascript/javascriptApplicationAnalysis.js"; +import type { JavaScriptApplicationGraph } from "../../domain/javascript/javascriptApplicationGraph.js"; +import type { JavaScriptSemanticGraph } from "../../domain/javascript/javascriptSemanticGraph.js"; +import { javascriptRuntimeReconciliationResultSchema } from "../../domain/javascript/javascriptRuntimeReconciliationSchemas.js"; import { managedApplicationGraphResultSchema } from "../../domain/managedApplicationGraph.js"; /** Supported immutable source for an application-level graph workflow. */ diff --git a/src/application/javascript/JavaScriptApplicationService.ts b/src/application/javascript/JavaScriptApplicationService.ts index fd845f798..b1a1bf6aa 100644 --- a/src/application/javascript/JavaScriptApplicationService.ts +++ b/src/application/javascript/JavaScriptApplicationService.ts @@ -4,7 +4,7 @@ import { ArtifactReaderFailure } from "../../artifacts/ArtifactReader.js"; import { analyzeJavaScriptApplicationInputSchema, javascriptApplicationAnalysisResultSchema, -} from "../../domain/javascriptApplicationAnalysis.js"; +} from "../../domain/javascript/javascriptApplicationAnalysis.js"; import { AnalysisInputError, AnalysisOutputError, diff --git a/src/application/javascript/JavaScriptApplicationTemplateLiterals.test.ts b/src/application/javascript/JavaScriptApplicationTemplateLiterals.test.ts index 7f3de11f3..468fdbcb5 100644 --- a/src/application/javascript/JavaScriptApplicationTemplateLiterals.test.ts +++ b/src/application/javascript/JavaScriptApplicationTemplateLiterals.test.ts @@ -4,7 +4,7 @@ import { join } from "node:path"; import { expect, it } from "vitest"; import { createTestTempDirectory } from "../../../tests/fixtures/temporaryDirectory.js"; -import { javascriptApplicationAnalysisResultSchema } from "../../domain/javascriptApplicationAnalysis.js"; +import { javascriptApplicationAnalysisResultSchema } from "../../domain/javascript/javascriptApplicationAnalysis.js"; import { analyzeJavaScriptApplication } from "./JavaScriptApplicationService.js"; const graphIdentities = async (source: string) => { diff --git a/src/application/javascript/JavaScriptApplicationWorkflowEvidence.ts b/src/application/javascript/JavaScriptApplicationWorkflowEvidence.ts index baa6cd50b..294fe48c8 100644 --- a/src/application/javascript/JavaScriptApplicationWorkflowEvidence.ts +++ b/src/application/javascript/JavaScriptApplicationWorkflowEvidence.ts @@ -3,12 +3,12 @@ import { type Evidence, type EvidenceObservation, } from "../../domain/evidence.js"; -import type { ApplicationVersionComparisonResult } from "../../domain/javascriptApplicationVersionComparisonSchemas.js"; -import type { JavaScriptExportShapeComparisonResult } from "../../domain/javascriptExportShapeComparisonSchemas.js"; -import type { ApplicationFeatureTraceResult } from "../../domain/javascriptFeatureTraceSchemas.js"; -import type { JavaScriptSemanticTraceResult } from "../../domain/javascriptSemanticTraceSchemas.js"; +import type { ApplicationVersionComparisonResult } from "../../domain/javascript/javascriptApplicationVersionComparisonSchemas.js"; +import type { JavaScriptExportShapeComparisonResult } from "../../domain/javascript/javascriptExportShapeComparisonSchemas.js"; +import type { ApplicationFeatureTraceResult } from "../../domain/javascript/javascriptFeatureTraceSchemas.js"; +import type { JavaScriptSemanticTraceResult } from "../../domain/javascript/javascriptSemanticTraceSchemas.js"; import { jsonValueSchema } from "../../domain/jsonValue.js"; -import type { SourceToBundleComparisonResult } from "../../domain/sourceToBundleComparisonSchemas.js"; +import type { SourceToBundleComparisonResult } from "../../domain/javascript/sourceToBundleComparisonSchemas.js"; import { JAVASCRIPT_APPLICATION_WORKFLOW_PROVIDER } from "../InvestigationProviders.js"; /** Create derived Evidence for one bounded application-graph feature trace. */ diff --git a/src/application/javascript/JavaScriptApplicationWorkflowService.ts b/src/application/javascript/JavaScriptApplicationWorkflowService.ts index ec32320c9..e41ec5bfb 100644 --- a/src/application/javascript/JavaScriptApplicationWorkflowService.ts +++ b/src/application/javascript/JavaScriptApplicationWorkflowService.ts @@ -7,15 +7,15 @@ import { import { type AnalysisError } from "../../domain/analysisErrorBase.js"; import type { Evidence } from "../../domain/evidence.js"; import { projectInputIssues } from "../../domain/inputIssueProjection.js"; -import { compareJavaScriptApplicationVersions } from "../../domain/javascriptApplicationVersionComparison.js"; -import { compareApplicationVersionsInputSchema } from "../../domain/javascriptApplicationVersionComparisonSchemas.js"; -import { compareJavaScriptExportShapes } from "../../domain/javascriptExportShapeComparison.js"; -import { compareJavaScriptExportShapesInputSchema } from "../../domain/javascriptExportShapeComparisonSchemas.js"; -import { traceApplicationFeature } from "../../domain/javascriptFeatureTrace.js"; -import { traceApplicationFeatureInputSchema } from "../../domain/javascriptFeatureTraceSchemas.js"; +import { compareJavaScriptApplicationVersions } from "../../domain/javascript/javascriptApplicationVersionComparison.js"; +import { compareApplicationVersionsInputSchema } from "../../domain/javascript/javascriptApplicationVersionComparisonSchemas.js"; +import { compareJavaScriptExportShapes } from "../../domain/javascript/javascriptExportShapeComparison.js"; +import { compareJavaScriptExportShapesInputSchema } from "../../domain/javascript/javascriptExportShapeComparisonSchemas.js"; +import { traceApplicationFeature } from "../../domain/javascript/javascriptFeatureTrace.js"; +import { traceApplicationFeatureInputSchema } from "../../domain/javascript/javascriptFeatureTraceSchemas.js"; import { err, ok, type Result } from "../../domain/result.js"; -import { compareSourceToBundle } from "../../domain/sourceToBundleComparison.js"; -import { compareSourceToBundleInputSchema } from "../../domain/sourceToBundleComparisonSchemas.js"; +import { compareSourceToBundle } from "../../domain/javascript/sourceToBundleComparison.js"; +import { compareSourceToBundleInputSchema } from "../../domain/javascript/sourceToBundleComparisonSchemas.js"; import { parseApplicationGraphEvidence, parseNativeApplicationEvidence, diff --git a/src/application/javascript/JavaScriptArtifactAnalysis.ts b/src/application/javascript/JavaScriptArtifactAnalysis.ts index 0090099ec..b7ef2ad69 100644 --- a/src/application/javascript/JavaScriptArtifactAnalysis.ts +++ b/src/application/javascript/JavaScriptArtifactAnalysis.ts @@ -1,16 +1,16 @@ import { createHash } from "node:crypto"; -import { analyzeParsedJavaScriptStaticSource } from "../../domain/javascriptStaticAnalysis.js"; -import { analyzeParsedJavaScriptSemantics } from "../../domain/javascriptSemanticAnalysis.js"; -import { parseJavaScriptSource } from "../../domain/javascriptSourceParser.js"; +import { analyzeParsedJavaScriptStaticSource } from "../../domain/javascript/javascriptStaticAnalysis.js"; +import { analyzeParsedJavaScriptSemantics } from "../../domain/javascript/javascriptSemanticAnalysis.js"; +import { parseJavaScriptSource } from "../../domain/javascript/javascriptSourceParser.js"; import { hasValidSourceMapContents } from "../../domain/sourceMapContents.js"; import { flattenSourceMapLeaves } from "../../domain/sourceMapEnvelope.js"; import type { JavaScriptSourceRange, JavaScriptSourcePoint, JavaScriptStaticAnalysis, -} from "../../domain/javascriptStaticAnalysisTypes.js"; -import { failedJavaScriptStaticAnalysis } from "../../domain/javascriptStaticAnalysisHelpers.js"; +} from "../../domain/javascript/javascriptStaticAnalysisTypes.js"; +import { failedJavaScriptStaticAnalysis } from "../../domain/javascript/javascriptStaticAnalysisHelpers.js"; import type { JavaScriptArtifactFile, JavaScriptArtifactFileSet, diff --git a/src/application/javascript/JavaScriptArtifactAnalysisTypes.ts b/src/application/javascript/JavaScriptArtifactAnalysisTypes.ts index 72112410d..df46f721b 100644 --- a/src/application/javascript/JavaScriptArtifactAnalysisTypes.ts +++ b/src/application/javascript/JavaScriptArtifactAnalysisTypes.ts @@ -1,8 +1,8 @@ import type { JavaScriptSourceRange, JavaScriptStaticAnalysis, -} from "../../domain/javascriptStaticAnalysisTypes.js"; -import type { JavaScriptSemanticIr } from "../../domain/javascriptSemanticIr.js"; +} from "../../domain/javascript/javascriptStaticAnalysisTypes.js"; +import type { JavaScriptSemanticIr } from "../../domain/javascript/javascriptSemanticIr.js"; import type { JavaScriptArtifactFile } from "./JavaScriptArtifactFiles.js"; interface JavaScriptStructuredObservation { diff --git a/src/application/javascript/JavaScriptArtifactGraphAccumulator.ts b/src/application/javascript/JavaScriptArtifactGraphAccumulator.ts index e096f70ee..b15743ca8 100644 --- a/src/application/javascript/JavaScriptArtifactGraphAccumulator.ts +++ b/src/application/javascript/JavaScriptArtifactGraphAccumulator.ts @@ -3,7 +3,7 @@ import { createJavaScriptApplicationNode, type ApplicationEdge, type ApplicationNode, -} from "../../domain/javascriptApplicationGraph.js"; +} from "../../domain/javascript/javascriptApplicationGraph.js"; /** Deduplicate graph entities while retaining distinct evidence observations. */ export class JavaScriptArtifactGraphAccumulator { diff --git a/src/application/javascript/JavaScriptArtifactGraphBuilder.ts b/src/application/javascript/JavaScriptArtifactGraphBuilder.ts index 892454aef..71ad7b8e7 100644 --- a/src/application/javascript/JavaScriptArtifactGraphBuilder.ts +++ b/src/application/javascript/JavaScriptArtifactGraphBuilder.ts @@ -2,7 +2,7 @@ import type { ArtifactInventorySnapshot } from "../ArtifactInventory.js"; import { createJavaScriptApplicationGraph, type JavaScriptApplicationGraph, -} from "../../domain/javascriptApplicationGraph.js"; +} from "../../domain/javascript/javascriptApplicationGraph.js"; import type { JavaScriptArtifactAnalysis } from "./JavaScriptArtifactAnalysisTypes.js"; import type { JavaScriptArtifactFileSet } from "./JavaScriptArtifactFiles.js"; import { JavaScriptArtifactGraphAccumulator } from "./JavaScriptArtifactGraphAccumulator.js"; @@ -19,7 +19,7 @@ import { import { completeApplicationCoverage, partialApplicationCoverage, -} from "../../domain/javascriptApplicationEvidenceSchemas.js"; +} from "../../domain/javascript/javascriptApplicationEvidenceSchemas.js"; import { addJavaScriptArtifactContainers, addJavaScriptArtifactFiles, diff --git a/src/application/javascript/JavaScriptArtifactGraphBundlers.ts b/src/application/javascript/JavaScriptArtifactGraphBundlers.ts index b2288551b..49810f6c6 100644 --- a/src/application/javascript/JavaScriptArtifactGraphBundlers.ts +++ b/src/application/javascript/JavaScriptArtifactGraphBundlers.ts @@ -1,5 +1,5 @@ -import type { ApplicationNode } from "../../domain/javascriptApplicationGraph.js"; -import type { JavaScriptBundlerRegistration } from "../../domain/javascriptStaticAnalysisTypes.js"; +import type { ApplicationNode } from "../../domain/javascript/javascriptApplicationGraph.js"; +import type { JavaScriptBundlerRegistration } from "../../domain/javascript/javascriptStaticAnalysisTypes.js"; import type { JavaScriptArtifactFile } from "./JavaScriptArtifactFiles.js"; import { addAstContainsEdge, diff --git a/src/application/javascript/JavaScriptArtifactGraphContext.ts b/src/application/javascript/JavaScriptArtifactGraphContext.ts index 3a98a6f1f..945dd4714 100644 --- a/src/application/javascript/JavaScriptArtifactGraphContext.ts +++ b/src/application/javascript/JavaScriptArtifactGraphContext.ts @@ -3,9 +3,9 @@ import { completeApplicationCoverage, partialApplicationCoverage, type ApplicationGraphEvidence, -} from "../../domain/javascriptApplicationEvidenceSchemas.js"; -import type { ApplicationNode } from "../../domain/javascriptApplicationGraph.js"; -import type { JavaScriptSourceRange } from "../../domain/javascriptStaticAnalysisTypes.js"; +} from "../../domain/javascript/javascriptApplicationEvidenceSchemas.js"; +import type { ApplicationNode } from "../../domain/javascript/javascriptApplicationGraph.js"; +import type { JavaScriptSourceRange } from "../../domain/javascript/javascriptStaticAnalysisTypes.js"; import type { JavaScriptArtifactAnalysis } from "./JavaScriptArtifactAnalysisTypes.js"; import type { JavaScriptArtifactFile, diff --git a/src/application/javascript/JavaScriptArtifactGraphDocuments.ts b/src/application/javascript/JavaScriptArtifactGraphDocuments.ts index 6a5142349..18258ef13 100644 --- a/src/application/javascript/JavaScriptArtifactGraphDocuments.ts +++ b/src/application/javascript/JavaScriptArtifactGraphDocuments.ts @@ -6,7 +6,7 @@ import { type JavaScriptArtifactGraphContext, } from "./JavaScriptArtifactGraphContext.js"; import { artifactObservationEvidence } from "./JavaScriptArtifactGraphEvidence.js"; -import { completeApplicationCoverage } from "../../domain/javascriptApplicationEvidenceSchemas.js"; +import { completeApplicationCoverage } from "../../domain/javascript/javascriptApplicationEvidenceSchemas.js"; import { resolveArtifactPathByContext } from "./JavaScriptArtifactPathResolution.js"; /** Project HTML renderer entrypoints and their local script assets. */ diff --git a/src/application/javascript/JavaScriptArtifactGraphEvidence.ts b/src/application/javascript/JavaScriptArtifactGraphEvidence.ts index 262c3a9aa..43821a3fb 100644 --- a/src/application/javascript/JavaScriptArtifactGraphEvidence.ts +++ b/src/application/javascript/JavaScriptArtifactGraphEvidence.ts @@ -1,5 +1,5 @@ -import type { ApplicationGraphEvidence } from "../../domain/javascriptApplicationEvidenceSchemas.js"; -import type { JavaScriptSourceRange } from "../../domain/javascriptStaticAnalysisTypes.js"; +import type { ApplicationGraphEvidence } from "../../domain/javascript/javascriptApplicationEvidenceSchemas.js"; +import type { JavaScriptSourceRange } from "../../domain/javascript/javascriptStaticAnalysisTypes.js"; const EXTRACTOR = { name: "rea-javascript-artifact-reconstruction", diff --git a/src/application/javascript/JavaScriptArtifactGraphFindings.ts b/src/application/javascript/JavaScriptArtifactGraphFindings.ts index e210a9490..abce52827 100644 --- a/src/application/javascript/JavaScriptArtifactGraphFindings.ts +++ b/src/application/javascript/JavaScriptArtifactGraphFindings.ts @@ -1,5 +1,5 @@ -import type { ApplicationNode } from "../../domain/javascriptApplicationGraph.js"; -import type { JavaScriptStaticAnalysis } from "../../domain/javascriptStaticAnalysisTypes.js"; +import type { ApplicationNode } from "../../domain/javascript/javascriptApplicationGraph.js"; +import type { JavaScriptStaticAnalysis } from "../../domain/javascript/javascriptStaticAnalysisTypes.js"; import type { JavaScriptArtifactFile } from "./JavaScriptArtifactFiles.js"; import { addStaticInferenceEdge, diff --git a/src/application/javascript/JavaScriptArtifactGraphStructure.ts b/src/application/javascript/JavaScriptArtifactGraphStructure.ts index 7e95f255d..b2a197936 100644 --- a/src/application/javascript/JavaScriptArtifactGraphStructure.ts +++ b/src/application/javascript/JavaScriptArtifactGraphStructure.ts @@ -1,6 +1,6 @@ import type { ArtifactInventorySnapshot } from "../ArtifactInventory.js"; -import type { ApplicationNode } from "../../domain/javascriptApplicationGraph.js"; -import { completeApplicationCoverage } from "../../domain/javascriptApplicationEvidenceSchemas.js"; +import type { ApplicationNode } from "../../domain/javascript/javascriptApplicationGraph.js"; +import { completeApplicationCoverage } from "../../domain/javascript/javascriptApplicationEvidenceSchemas.js"; import type { JavaScriptArtifactAnalysis } from "./JavaScriptArtifactAnalysisTypes.js"; import type { JavaScriptArtifactContainer, diff --git a/src/application/javascript/JavaScriptArtifactPathResolution.test.ts b/src/application/javascript/JavaScriptArtifactPathResolution.test.ts index d1e20058e..1536e3252 100644 --- a/src/application/javascript/JavaScriptArtifactPathResolution.test.ts +++ b/src/application/javascript/JavaScriptArtifactPathResolution.test.ts @@ -6,8 +6,8 @@ import { } from "./JavaScriptArtifactPathResolution.js"; import type { JavaScriptArtifactFile } from "./JavaScriptArtifactFiles.js"; import { artifactLocalIdentity } from "./JavaScriptArtifactGraphContext.js"; -import { applicationNodeIdentitySchema } from "../../domain/javascriptApplicationEvidenceSchemas.js"; -import { analyzeJavaScriptStaticSource } from "../../domain/javascriptStaticAnalysis.js"; +import { applicationNodeIdentitySchema } from "../../domain/javascript/javascriptApplicationEvidenceSchemas.js"; +import { analyzeJavaScriptStaticSource } from "../../domain/javascript/javascriptStaticAnalysis.js"; describe("artifact-local graph identity", () => { it("preserves complete long namespace and key values", () => { diff --git a/src/application/javascript/JavaScriptArtifactReconstruction.ts b/src/application/javascript/JavaScriptArtifactReconstruction.ts index 64dc153c4..c3e346509 100644 --- a/src/application/javascript/JavaScriptArtifactReconstruction.ts +++ b/src/application/javascript/JavaScriptArtifactReconstruction.ts @@ -6,9 +6,9 @@ import { type ArtifactReader, } from "../../artifacts/ArtifactReader.js"; import { DirectoryArtifactReader } from "../../artifacts/DirectoryArtifactReader.js"; -import type { JavaScriptApplicationGraph } from "../../domain/javascriptApplicationGraph.js"; -import type { JavaScriptSemanticGraph } from "../../domain/javascriptSemanticGraph.js"; -import type { ElectronBoundarySummary } from "../../domain/javascriptApplicationAnalysis.js"; +import type { JavaScriptApplicationGraph } from "../../domain/javascript/javascriptApplicationGraph.js"; +import type { JavaScriptSemanticGraph } from "../../domain/javascript/javascriptSemanticGraph.js"; +import type { ElectronBoundarySummary } from "../../domain/javascript/javascriptApplicationAnalysis.js"; import type { IntegrityContradiction } from "../../domain/artifactGraph.js"; import { analyzeJavaScriptArtifactFiles } from "./JavaScriptArtifactAnalysis.js"; import { readJavaScriptArtifactFiles } from "./JavaScriptArtifactFiles.js"; diff --git a/src/application/javascript/JavaScriptFileUrlPaths.test.ts b/src/application/javascript/JavaScriptFileUrlPaths.test.ts index e24bd0616..fcb63d7da 100644 --- a/src/application/javascript/JavaScriptFileUrlPaths.test.ts +++ b/src/application/javascript/JavaScriptFileUrlPaths.test.ts @@ -6,8 +6,8 @@ import { parseExpression } from "@babel/parser"; import { describe, expect, it } from "vitest"; import { createTestTempDirectory } from "../../../tests/fixtures/temporaryDirectory.js"; -import { javascriptApplicationAnalysisResultSchema } from "../../domain/javascriptApplicationAnalysis.js"; -import { staticPath } from "../../domain/javascriptStaticAnalysisHelpers.js"; +import { javascriptApplicationAnalysisResultSchema } from "../../domain/javascript/javascriptApplicationAnalysis.js"; +import { staticPath } from "../../domain/javascript/javascriptStaticAnalysisHelpers.js"; import { analyzeJavaScriptApplication } from "./JavaScriptApplicationService.js"; const urlCases = [ diff --git a/src/application/javascript/JavaScriptModuleRelationships.ts b/src/application/javascript/JavaScriptModuleRelationships.ts index d10a9dd70..c3f4ed5e9 100644 --- a/src/application/javascript/JavaScriptModuleRelationships.ts +++ b/src/application/javascript/JavaScriptModuleRelationships.ts @@ -1,16 +1,16 @@ import { posix } from "node:path"; import { compareCodePoints } from "../../domain/canonicalOrdering.js"; -import type { ApplicationNode } from "../../domain/javascriptApplicationGraph.js"; +import type { ApplicationNode } from "../../domain/javascript/javascriptApplicationGraph.js"; import { completeApplicationCoverage, partialApplicationCoverage, -} from "../../domain/javascriptApplicationEvidenceSchemas.js"; +} from "../../domain/javascript/javascriptApplicationEvidenceSchemas.js"; import type { JavaScriptModuleOrigin, JavaScriptSemanticIr, JavaScriptSemanticModuleLink, -} from "../../domain/javascriptSemanticIr.js"; +} from "../../domain/javascript/javascriptSemanticIr.js"; import type { JavaScriptArtifactFile } from "./JavaScriptArtifactFiles.js"; import { addAstContainsEdge, diff --git a/src/application/javascript/JavaScriptRecoveryPort.ts b/src/application/javascript/JavaScriptRecoveryPort.ts index baf018610..a1975e167 100644 --- a/src/application/javascript/JavaScriptRecoveryPort.ts +++ b/src/application/javascript/JavaScriptRecoveryPort.ts @@ -1,5 +1,5 @@ import type { AnalysisError } from "../../domain/analysisErrorBase.js"; -import type { JavaScriptRecoveryInput } from "../../domain/javascriptRecovery.js"; +import type { JavaScriptRecoveryInput } from "../../domain/javascript/javascriptRecovery.js"; import type { Result } from "../../domain/result.js"; import type { AnalysisExecution, diff --git a/src/application/javascript/JavaScriptRecoveryService.test.ts b/src/application/javascript/JavaScriptRecoveryService.test.ts index 7acef4dc2..f8ed97653 100644 --- a/src/application/javascript/JavaScriptRecoveryService.test.ts +++ b/src/application/javascript/JavaScriptRecoveryService.test.ts @@ -4,7 +4,7 @@ import { err, ok } from "../../domain/result.js"; import type { JavaScriptRecoveryInput, JavaScriptRecoveryResult, -} from "../../domain/javascriptRecovery.js"; +} from "../../domain/javascript/javascriptRecovery.js"; import { createAnalysisExecution } from "../AnalysisProvider.js"; import { JavaScriptRecoveryService } from "./JavaScriptRecoveryService.js"; diff --git a/src/application/javascript/JavaScriptRecoveryService.ts b/src/application/javascript/JavaScriptRecoveryService.ts index 78c08c930..16a536c64 100644 --- a/src/application/javascript/JavaScriptRecoveryService.ts +++ b/src/application/javascript/JavaScriptRecoveryService.ts @@ -10,7 +10,7 @@ import { createEvidence, type Evidence } from "../../domain/evidence.js"; import { javascriptRecoveryInputSchema, javascriptRecoveryResultSchema, -} from "../../domain/javascriptRecovery.js"; +} from "../../domain/javascript/javascriptRecovery.js"; import { jsonObjectSchema } from "../../domain/jsonValue.js"; import { projectInputIssues } from "../../domain/inputIssueProjection.js"; import { err, ok, type Result } from "../../domain/result.js"; diff --git a/src/application/javascript/JavaScriptReturnShapeProjection.test.ts b/src/application/javascript/JavaScriptReturnShapeProjection.test.ts index b62577283..11d91c02f 100644 --- a/src/application/javascript/JavaScriptReturnShapeProjection.test.ts +++ b/src/application/javascript/JavaScriptReturnShapeProjection.test.ts @@ -1,7 +1,7 @@ import { describe, expect, it } from "vitest"; -import { analyzeJavaScriptSemantics } from "../../domain/javascriptSemanticAnalysis.js"; -import { completeApplicationCoverage } from "../../domain/javascriptApplicationEvidenceSchemas.js"; +import { analyzeJavaScriptSemantics } from "../../domain/javascript/javascriptSemanticAnalysis.js"; +import { completeApplicationCoverage } from "../../domain/javascript/javascriptApplicationEvidenceSchemas.js"; import { projectJavaScriptExportReturnShapes } from "./JavaScriptReturnShapeProjection.js"; const projectReturns = (body: string) => { diff --git a/src/application/javascript/JavaScriptReturnShapeProjection.ts b/src/application/javascript/JavaScriptReturnShapeProjection.ts index f8f25ae3d..dcd806ef8 100644 --- a/src/application/javascript/JavaScriptReturnShapeProjection.ts +++ b/src/application/javascript/JavaScriptReturnShapeProjection.ts @@ -2,14 +2,14 @@ import { jsonObjectSchema, jsonValueSchema } from "../../domain/jsonValue.js"; import { partialApplicationCoverage, truncatedApplicationCoverage, -} from "../../domain/javascriptApplicationEvidenceSchemas.js"; +} from "../../domain/javascript/javascriptApplicationEvidenceSchemas.js"; import type { JavaScriptSemanticIr, JavaScriptSemanticCallable, JavaScriptSemanticModuleLink, -} from "../../domain/javascriptSemanticIr.js"; -import { flattenSemanticReturnValue } from "../../domain/javascriptSemanticReturns.js"; -import type { JavaScriptSourceRange } from "../../domain/javascriptStaticAnalysisTypes.js"; +} from "../../domain/javascript/javascriptSemanticIr.js"; +import { flattenSemanticReturnValue } from "../../domain/javascript/javascriptSemanticReturns.js"; +import type { JavaScriptSourceRange } from "../../domain/javascript/javascriptStaticAnalysisTypes.js"; import type { JavaScriptArtifactGraphCoverage } from "./JavaScriptArtifactGraphContext.js"; export interface JavaScriptReturnShapeProjection { diff --git a/src/application/javascript/JavaScriptRuntimeObservationEvidence.ts b/src/application/javascript/JavaScriptRuntimeObservationEvidence.ts index 94589a22e..24041bec3 100644 --- a/src/application/javascript/JavaScriptRuntimeObservationEvidence.ts +++ b/src/application/javascript/JavaScriptRuntimeObservationEvidence.ts @@ -10,7 +10,7 @@ import type { JavaScriptRuntimeTargetList, ListJavaScriptRuntimeTargetsInput, ObserveJavaScriptRuntimeInput, -} from "../../domain/javascriptRuntimeObservation.js"; +} from "../../domain/javascript/javascriptRuntimeObservation.js"; type RuntimeObservationOperation = | "list_javascript_runtime_targets" diff --git a/src/application/javascript/JavaScriptRuntimeObservationPort.ts b/src/application/javascript/JavaScriptRuntimeObservationPort.ts index 5c730d75c..44aa9afc2 100644 --- a/src/application/javascript/JavaScriptRuntimeObservationPort.ts +++ b/src/application/javascript/JavaScriptRuntimeObservationPort.ts @@ -7,7 +7,7 @@ import type { JavaScriptRuntimeTargetList, ListJavaScriptRuntimeTargetsInput, ObserveJavaScriptRuntimeInput, -} from "../../domain/javascriptRuntimeObservation.js"; +} from "../../domain/javascript/javascriptRuntimeObservation.js"; import type { AnalysisError } from "../../domain/analysisErrorBase.js"; import type { Result } from "../../domain/result.js"; diff --git a/src/application/javascript/JavaScriptRuntimeObservationService.ts b/src/application/javascript/JavaScriptRuntimeObservationService.ts index 51eb6e4c3..cfbdbb05e 100644 --- a/src/application/javascript/JavaScriptRuntimeObservationService.ts +++ b/src/application/javascript/JavaScriptRuntimeObservationService.ts @@ -7,7 +7,7 @@ import { type AnalysisError } from "../../domain/analysisErrorBase.js"; import type { ListJavaScriptRuntimeTargetsInput, ObserveJavaScriptRuntimeInput, -} from "../../domain/javascriptRuntimeObservation.js"; +} from "../../domain/javascript/javascriptRuntimeObservation.js"; import { err, ok, type Result } from "../../domain/result.js"; /** List targets exposed by the explicitly selected loopback Inspector. */ diff --git a/src/application/javascript/JavaScriptRuntimeReconciliationEvidence.ts b/src/application/javascript/JavaScriptRuntimeReconciliationEvidence.ts index 76f1046bc..afbc2d07c 100644 --- a/src/application/javascript/JavaScriptRuntimeReconciliationEvidence.ts +++ b/src/application/javascript/JavaScriptRuntimeReconciliationEvidence.ts @@ -6,7 +6,7 @@ import { import type { JavaScriptRuntimeReconciliationResult, ReconcileJavaScriptRuntimeInput, -} from "../../domain/javascriptRuntimeReconciliationSchemas.js"; +} from "../../domain/javascript/javascriptRuntimeReconciliationSchemas.js"; import { jsonValueSchema } from "../../domain/jsonValue.js"; import { JAVASCRIPT_RUNTIME_RECONCILIATION_PROVIDER } from "../InvestigationProviders.js"; diff --git a/src/application/javascript/JavaScriptRuntimeReconciliationService.ts b/src/application/javascript/JavaScriptRuntimeReconciliationService.ts index 0bf0338a4..b7e8ef166 100644 --- a/src/application/javascript/JavaScriptRuntimeReconciliationService.ts +++ b/src/application/javascript/JavaScriptRuntimeReconciliationService.ts @@ -8,8 +8,8 @@ import { import { type AnalysisError } from "../../domain/analysisErrorBase.js"; import type { Evidence } from "../../domain/evidence.js"; import { projectInputIssues } from "../../domain/inputIssueProjection.js"; -import { reconcileJavaScriptRuntime } from "../../domain/javascriptRuntimeReconciliation.js"; -import { reconcileJavaScriptRuntimeInputSchema } from "../../domain/javascriptRuntimeReconciliationSchemas.js"; +import { reconcileJavaScriptRuntime } from "../../domain/javascript/javascriptRuntimeReconciliation.js"; +import { reconcileJavaScriptRuntimeInputSchema } from "../../domain/javascript/javascriptRuntimeReconciliationSchemas.js"; import { err, ok, type Result } from "../../domain/result.js"; import { createJavaScriptRuntimeReconciliationEvidence } from "./JavaScriptRuntimeReconciliationEvidence.js"; diff --git a/src/application/javascript/JavaScriptSemanticGraphAsyncProjection.ts b/src/application/javascript/JavaScriptSemanticGraphAsyncProjection.ts index 0b13f61f9..c44b1cc5a 100644 --- a/src/application/javascript/JavaScriptSemanticGraphAsyncProjection.ts +++ b/src/application/javascript/JavaScriptSemanticGraphAsyncProjection.ts @@ -1,9 +1,9 @@ -import { createJavaScriptSemanticGraphUnknown } from "../../domain/javascriptSemanticGraph.js"; -import type { JavaScriptSemanticGraphNode } from "../../domain/javascriptSemanticGraph.js"; +import { createJavaScriptSemanticGraphUnknown } from "../../domain/javascript/javascriptSemanticGraph.js"; +import type { JavaScriptSemanticGraphNode } from "../../domain/javascript/javascriptSemanticGraph.js"; import type { JavaScriptSemanticEventOperation, JavaScriptSemanticTimerOperation, -} from "../../domain/javascriptSemanticIr.js"; +} from "../../domain/javascript/javascriptSemanticIr.js"; import { addSemanticGraphNode, addSemanticGraphRelation, diff --git a/src/application/javascript/JavaScriptSemanticGraphBuilder.test.ts b/src/application/javascript/JavaScriptSemanticGraphBuilder.test.ts index 1575d3bd5..90a61aeb1 100644 --- a/src/application/javascript/JavaScriptSemanticGraphBuilder.test.ts +++ b/src/application/javascript/JavaScriptSemanticGraphBuilder.test.ts @@ -3,8 +3,8 @@ import { expect, it } from "vitest"; import { buildJavaScriptSemanticGraph } from "./JavaScriptSemanticGraphBuilder.js"; import type { JavaScriptArtifactAnalysis } from "./JavaScriptArtifactAnalysisTypes.js"; import type { JavaScriptArtifactFile } from "./JavaScriptArtifactFiles.js"; -import { queryJavaScriptSemanticGraph } from "../../domain/javascriptSemanticQuery.js"; -import { analyzeJavaScriptSemantics } from "../../domain/javascriptSemanticAnalysis.js"; +import { queryJavaScriptSemanticGraph } from "../../domain/javascript/javascriptSemanticQuery.js"; +import { analyzeJavaScriptSemantics } from "../../domain/javascript/javascriptSemanticAnalysis.js"; const SHA256 = "a".repeat(64); const GRAPH_ID = `jag_${"b".repeat(64)}`; diff --git a/src/application/javascript/JavaScriptSemanticGraphBuilder.ts b/src/application/javascript/JavaScriptSemanticGraphBuilder.ts index 827801918..f21b0f74f 100644 --- a/src/application/javascript/JavaScriptSemanticGraphBuilder.ts +++ b/src/application/javascript/JavaScriptSemanticGraphBuilder.ts @@ -2,17 +2,17 @@ import { createJavaScriptSemanticGraph, type JavaScriptSemanticGraph, type JavaScriptSemanticGraphNode, -} from "../../domain/javascriptSemanticGraph.js"; +} from "../../domain/javascript/javascriptSemanticGraph.js"; import { JAVASCRIPT_SEMANTIC_RELATION_FAMILIES, JAVASCRIPT_SEMANTIC_RELATION_FAMILY, -} from "../../domain/javascriptSemanticGraphSchemas.js"; +} from "../../domain/javascript/javascriptSemanticGraphSchemas.js"; import type { JavaScriptSemanticCallArgument, JavaScriptSemanticIr, -} from "../../domain/javascriptSemanticIr.js"; -import { sourceRangesEqual as rangesEqual } from "../../domain/javascriptStaticAnalysisHelpers.js"; -import type { JavaScriptApplicationGraph } from "../../domain/javascriptApplicationGraph.js"; +} from "../../domain/javascript/javascriptSemanticIr.js"; +import { sourceRangesEqual as rangesEqual } from "../../domain/javascript/javascriptStaticAnalysisHelpers.js"; +import type { JavaScriptApplicationGraph } from "../../domain/javascript/javascriptApplicationGraph.js"; import type { JavaScriptArtifactAnalysis } from "./JavaScriptArtifactAnalysisTypes.js"; import type { JavaScriptArtifactFile } from "./JavaScriptArtifactFiles.js"; import { diff --git a/src/application/javascript/JavaScriptSemanticGraphChildProcessProjection.ts b/src/application/javascript/JavaScriptSemanticGraphChildProcessProjection.ts index 79f848c0d..450ecff56 100644 --- a/src/application/javascript/JavaScriptSemanticGraphChildProcessProjection.ts +++ b/src/application/javascript/JavaScriptSemanticGraphChildProcessProjection.ts @@ -1,9 +1,9 @@ -import { createJavaScriptSemanticGraphUnknown } from "../../domain/javascriptSemanticGraph.js"; -import type { JavaScriptSemanticGraphNode } from "../../domain/javascriptSemanticGraph.js"; +import { createJavaScriptSemanticGraphUnknown } from "../../domain/javascript/javascriptSemanticGraph.js"; +import type { JavaScriptSemanticGraphNode } from "../../domain/javascript/javascriptSemanticGraph.js"; import type { JavaScriptSemanticChildProcessInteraction, JavaScriptSemanticChildProcessSpawn, -} from "../../domain/javascriptSemanticIr.js"; +} from "../../domain/javascript/javascriptSemanticIr.js"; import { addSemanticGraphNode, addSemanticGraphRelation, diff --git a/src/application/javascript/JavaScriptSemanticGraphConstruction.ts b/src/application/javascript/JavaScriptSemanticGraphConstruction.ts index 9e859162d..faa46e7ee 100644 --- a/src/application/javascript/JavaScriptSemanticGraphConstruction.ts +++ b/src/application/javascript/JavaScriptSemanticGraphConstruction.ts @@ -1,17 +1,17 @@ -import type { JavaScriptApplicationGraph } from "../../domain/javascriptApplicationGraph.js"; +import type { JavaScriptApplicationGraph } from "../../domain/javascript/javascriptApplicationGraph.js"; import type { JsonValue } from "../../domain/jsonValue.js"; -import { javascriptDisplayText } from "../../domain/javascriptAstValues.js"; +import { javascriptDisplayText } from "../../domain/javascript/javascriptAstValues.js"; import { createJavaScriptSemanticGraphNode, createJavaScriptSemanticGraphRelation, type JavaScriptSemanticGraphNode, -} from "../../domain/javascriptSemanticGraph.js"; -import type { ApplicationGraphEvidence } from "../../domain/javascriptApplicationEvidenceSchemas.js"; +} from "../../domain/javascript/javascriptSemanticGraph.js"; +import type { ApplicationGraphEvidence } from "../../domain/javascript/javascriptApplicationEvidenceSchemas.js"; import type { JavaScriptSemanticGraphRelation, JavaScriptSemanticGraphUnknown, -} from "../../domain/javascriptSemanticGraphSchemas.js"; -import type { JavaScriptSourceRange } from "../../domain/javascriptStaticAnalysisTypes.js"; +} from "../../domain/javascript/javascriptSemanticGraphSchemas.js"; +import type { JavaScriptSourceRange } from "../../domain/javascript/javascriptStaticAnalysisTypes.js"; import type { JavaScriptArtifactFile } from "./JavaScriptArtifactFiles.js"; import { inferredSemanticEvidence, diff --git a/src/application/javascript/JavaScriptSemanticGraphDataProjection.ts b/src/application/javascript/JavaScriptSemanticGraphDataProjection.ts index 916b4e350..8ebd024b8 100644 --- a/src/application/javascript/JavaScriptSemanticGraphDataProjection.ts +++ b/src/application/javascript/JavaScriptSemanticGraphDataProjection.ts @@ -1,10 +1,10 @@ -import { createJavaScriptSemanticGraphUnknown } from "../../domain/javascriptSemanticGraph.js"; -import type { JavaScriptSemanticGraphNode } from "../../domain/javascriptSemanticGraph.js"; +import { createJavaScriptSemanticGraphUnknown } from "../../domain/javascript/javascriptSemanticGraph.js"; +import type { JavaScriptSemanticGraphNode } from "../../domain/javascript/javascriptSemanticGraph.js"; import type { JavaScriptSemanticBoundaryOperation, JavaScriptSemanticConfigurationOperation, JavaScriptSemanticRequestOperation, -} from "../../domain/javascriptSemanticIr.js"; +} from "../../domain/javascript/javascriptSemanticIr.js"; import { addSemanticGraphNode, addSemanticGraphRelation, diff --git a/src/application/javascript/JavaScriptSemanticGraphEvidence.ts b/src/application/javascript/JavaScriptSemanticGraphEvidence.ts index 901e8e5a4..9cfaa88b4 100644 --- a/src/application/javascript/JavaScriptSemanticGraphEvidence.ts +++ b/src/application/javascript/JavaScriptSemanticGraphEvidence.ts @@ -1,6 +1,6 @@ -import type { ApplicationGraphEvidence } from "../../domain/javascriptApplicationEvidenceSchemas.js"; -import type { JavaScriptSemanticGraphNode } from "../../domain/javascriptSemanticGraph.js"; -import type { JavaScriptSourceRange } from "../../domain/javascriptStaticAnalysisTypes.js"; +import type { ApplicationGraphEvidence } from "../../domain/javascript/javascriptApplicationEvidenceSchemas.js"; +import type { JavaScriptSemanticGraphNode } from "../../domain/javascript/javascriptSemanticGraph.js"; +import type { JavaScriptSourceRange } from "../../domain/javascript/javascriptStaticAnalysisTypes.js"; import type { JavaScriptArtifactFile } from "./JavaScriptArtifactFiles.js"; const INFERENCE_LIMITATION = diff --git a/src/application/javascript/JavaScriptSemanticGraphFingerprintProjection.ts b/src/application/javascript/JavaScriptSemanticGraphFingerprintProjection.ts index 1d32e1527..0634b341e 100644 --- a/src/application/javascript/JavaScriptSemanticGraphFingerprintProjection.ts +++ b/src/application/javascript/JavaScriptSemanticGraphFingerprintProjection.ts @@ -2,8 +2,8 @@ import { createJavaScriptSemanticFingerprint, type JavaScriptSemanticGraph, type JavaScriptSemanticGraphNode, -} from "../../domain/javascriptSemanticGraph.js"; -import type { JavaScriptSemanticIr } from "../../domain/javascriptSemanticIr.js"; +} from "../../domain/javascript/javascriptSemanticGraph.js"; +import type { JavaScriptSemanticIr } from "../../domain/javascript/javascriptSemanticIr.js"; import type { JavaScriptArtifactFile } from "./JavaScriptArtifactFiles.js"; import { observedSemanticEvidence } from "./JavaScriptSemanticGraphEvidence.js"; diff --git a/src/application/javascript/JavaScriptSemanticGraphFlowProjection.ts b/src/application/javascript/JavaScriptSemanticGraphFlowProjection.ts index 425c58940..c31aef320 100644 --- a/src/application/javascript/JavaScriptSemanticGraphFlowProjection.ts +++ b/src/application/javascript/JavaScriptSemanticGraphFlowProjection.ts @@ -1,8 +1,8 @@ -import { createJavaScriptSemanticGraphUnknown } from "../../domain/javascriptSemanticGraph.js"; -import type { JavaScriptSemanticGraphNode } from "../../domain/javascriptSemanticGraph.js"; -import type { JavaScriptSemanticIr } from "../../domain/javascriptSemanticIr.js"; -import { sourceRangesEqual } from "../../domain/javascriptStaticAnalysisHelpers.js"; -import type { JavaScriptSourceRange } from "../../domain/javascriptStaticAnalysisTypes.js"; +import { createJavaScriptSemanticGraphUnknown } from "../../domain/javascript/javascriptSemanticGraph.js"; +import type { JavaScriptSemanticGraphNode } from "../../domain/javascript/javascriptSemanticGraph.js"; +import type { JavaScriptSemanticIr } from "../../domain/javascript/javascriptSemanticIr.js"; +import { sourceRangesEqual } from "../../domain/javascript/javascriptStaticAnalysisHelpers.js"; +import type { JavaScriptSourceRange } from "../../domain/javascript/javascriptStaticAnalysisTypes.js"; import type { JavaScriptArtifactFile } from "./JavaScriptArtifactFiles.js"; import { addSemanticGraphNode, diff --git a/src/application/javascript/JavaScriptSemanticGraphObjectProjection.ts b/src/application/javascript/JavaScriptSemanticGraphObjectProjection.ts index 971c66a30..e0a5d8890 100644 --- a/src/application/javascript/JavaScriptSemanticGraphObjectProjection.ts +++ b/src/application/javascript/JavaScriptSemanticGraphObjectProjection.ts @@ -1,6 +1,6 @@ -import { createJavaScriptSemanticGraphUnknown } from "../../domain/javascriptSemanticGraph.js"; -import type { JavaScriptSemanticGraphNode } from "../../domain/javascriptSemanticGraph.js"; -import type { JavaScriptSemanticObjectOperation } from "../../domain/javascriptSemanticIr.js"; +import { createJavaScriptSemanticGraphUnknown } from "../../domain/javascript/javascriptSemanticGraph.js"; +import type { JavaScriptSemanticGraphNode } from "../../domain/javascript/javascriptSemanticGraph.js"; +import type { JavaScriptSemanticObjectOperation } from "../../domain/javascript/javascriptSemanticIr.js"; import { addSemanticGraphNode, addSemanticGraphRelation, diff --git a/src/application/javascript/JavaScriptSemanticGraphProjection.ts b/src/application/javascript/JavaScriptSemanticGraphProjection.ts index b421f9b86..4d09591e4 100644 --- a/src/application/javascript/JavaScriptSemanticGraphProjection.ts +++ b/src/application/javascript/JavaScriptSemanticGraphProjection.ts @@ -1,8 +1,8 @@ import { compareCodePoints } from "../../domain/canonicalOrdering.js"; -import type { JavaScriptSemanticGraphNode } from "../../domain/javascriptSemanticGraph.js"; -import { JAVASCRIPT_SEMANTIC_RELATION_FAMILIES } from "../../domain/javascriptSemanticGraphSchemas.js"; -import type { JavaScriptSemanticIr } from "../../domain/javascriptSemanticIr.js"; -import type { JavaScriptSourceRange } from "../../domain/javascriptStaticAnalysisTypes.js"; +import type { JavaScriptSemanticGraphNode } from "../../domain/javascript/javascriptSemanticGraph.js"; +import { JAVASCRIPT_SEMANTIC_RELATION_FAMILIES } from "../../domain/javascript/javascriptSemanticGraphSchemas.js"; +import type { JavaScriptSemanticIr } from "../../domain/javascript/javascriptSemanticIr.js"; +import type { JavaScriptSourceRange } from "../../domain/javascript/javascriptStaticAnalysisTypes.js"; import type { JavaScriptArtifactAnalysis } from "./JavaScriptArtifactAnalysisTypes.js"; /** Find the innermost callable that contains one exact source range. */ diff --git a/src/application/javascript/JavaScriptSemanticGraphResourceProjection.ts b/src/application/javascript/JavaScriptSemanticGraphResourceProjection.ts index e3d6212c5..22ca8aff6 100644 --- a/src/application/javascript/JavaScriptSemanticGraphResourceProjection.ts +++ b/src/application/javascript/JavaScriptSemanticGraphResourceProjection.ts @@ -1,6 +1,6 @@ -import { createJavaScriptSemanticGraphUnknown } from "../../domain/javascriptSemanticGraph.js"; -import type { JavaScriptSemanticGraphNode } from "../../domain/javascriptSemanticGraph.js"; -import type { JavaScriptSemanticResourceOperation } from "../../domain/javascriptSemanticIr.js"; +import { createJavaScriptSemanticGraphUnknown } from "../../domain/javascript/javascriptSemanticGraph.js"; +import type { JavaScriptSemanticGraphNode } from "../../domain/javascript/javascriptSemanticGraph.js"; +import type { JavaScriptSemanticResourceOperation } from "../../domain/javascript/javascriptSemanticIr.js"; import { addSemanticGraphNode, addSemanticGraphRelation, diff --git a/src/application/javascript/JavaScriptSemanticGraphResources.test.ts b/src/application/javascript/JavaScriptSemanticGraphResources.test.ts index d7d667f02..fd14ef93c 100644 --- a/src/application/javascript/JavaScriptSemanticGraphResources.test.ts +++ b/src/application/javascript/JavaScriptSemanticGraphResources.test.ts @@ -3,8 +3,8 @@ import { expect, it } from "vitest"; import { buildJavaScriptSemanticGraph } from "./JavaScriptSemanticGraphBuilder.js"; import type { JavaScriptArtifactAnalysis } from "./JavaScriptArtifactAnalysisTypes.js"; import type { JavaScriptArtifactFile } from "./JavaScriptArtifactFiles.js"; -import { queryJavaScriptSemanticGraph } from "../../domain/javascriptSemanticQuery.js"; -import { analyzeJavaScriptSemantics } from "../../domain/javascriptSemanticAnalysis.js"; +import { queryJavaScriptSemanticGraph } from "../../domain/javascript/javascriptSemanticQuery.js"; +import { analyzeJavaScriptSemantics } from "../../domain/javascript/javascriptSemanticAnalysis.js"; const SHA256 = "a".repeat(64); const GRAPH_ID = `jag_${"b".repeat(64)}`; diff --git a/src/application/javascript/JavaScriptSemanticGraphScope.test.ts b/src/application/javascript/JavaScriptSemanticGraphScope.test.ts index cece02eee..ec7b0341e 100644 --- a/src/application/javascript/JavaScriptSemanticGraphScope.test.ts +++ b/src/application/javascript/JavaScriptSemanticGraphScope.test.ts @@ -3,8 +3,8 @@ import { expect, it } from "vitest"; import { buildJavaScriptSemanticGraph } from "./JavaScriptSemanticGraphBuilder.js"; import type { JavaScriptArtifactAnalysis } from "./JavaScriptArtifactAnalysisTypes.js"; import type { JavaScriptArtifactFile } from "./JavaScriptArtifactFiles.js"; -import { analyzeJavaScriptSemantics } from "../../domain/javascriptSemanticAnalysis.js"; -import { topLevelBinding } from "../../domain/javascriptSemanticAnalysis.fixture.js"; +import { analyzeJavaScriptSemantics } from "../../domain/javascript/javascriptSemanticAnalysis.js"; +import { topLevelBinding } from "../../domain/javascript/javascriptSemanticAnalysis.fixture.js"; const SHA256 = "a".repeat(64); const GRAPH_ID = `jag_${"b".repeat(64)}`; diff --git a/src/application/javascript/JavaScriptSemanticGraphValueProjection.ts b/src/application/javascript/JavaScriptSemanticGraphValueProjection.ts index 86da42883..96298f349 100644 --- a/src/application/javascript/JavaScriptSemanticGraphValueProjection.ts +++ b/src/application/javascript/JavaScriptSemanticGraphValueProjection.ts @@ -2,7 +2,7 @@ import type { JsonValue } from "../../domain/jsonValue.js"; import type { JavaScriptSemanticBinding, JavaScriptSemanticValue, -} from "../../domain/javascriptSemanticIr.js"; +} from "../../domain/javascript/javascriptSemanticIr.js"; import { addSemanticGraphNode, addSemanticGraphRelation, diff --git a/src/application/javascript/JavaScriptSemanticTraceService.ts b/src/application/javascript/JavaScriptSemanticTraceService.ts index 0d37b19d0..98dfb12c0 100644 --- a/src/application/javascript/JavaScriptSemanticTraceService.ts +++ b/src/application/javascript/JavaScriptSemanticTraceService.ts @@ -7,11 +7,11 @@ import { import { type AnalysisError } from "../../domain/analysisErrorBase.js"; import type { Evidence } from "../../domain/evidence.js"; import { jsonValueSchema } from "../../domain/jsonValue.js"; -import { queryJavaScriptSemanticGraph } from "../../domain/javascriptSemanticQuery.js"; +import { queryJavaScriptSemanticGraph } from "../../domain/javascript/javascriptSemanticQuery.js"; import { javaScriptSemanticTraceResultSchema, traceJavaScriptSemanticsInputSchema, -} from "../../domain/javascriptSemanticTraceSchemas.js"; +} from "../../domain/javascript/javascriptSemanticTraceSchemas.js"; import { err, ok, type Result } from "../../domain/result.js"; import { parseApplicationGraphEvidence } from "./JavaScriptApplicationEvidenceGraph.js"; import { createJavaScriptSemanticTraceEvidence } from "./JavaScriptApplicationWorkflowEvidence.js"; diff --git a/src/browser/CdpElectronInspection.ts b/src/browser/CdpElectronInspection.ts index 8fb8e7a3a..646ddf233 100644 --- a/src/browser/CdpElectronInspection.ts +++ b/src/browser/CdpElectronInspection.ts @@ -3,7 +3,7 @@ import type { ProgressReporter } from "../application/ProgressReporter.js"; import type { ElectronPageInspection, InspectElectronPageInput, -} from "../domain/electronObservation.js"; +} from "../domain/javascript/electronObservation.js"; import { BrowserObservationError } from "../domain/browserObservationError.js"; import type { CdpConnection, CdpEvent } from "./CdpConnection.js"; import type { CdpEndpointDiscovery, CdpEndpointTarget } from "./CdpEndpoint.js"; diff --git a/src/browser/CdpElectronProvider.ts b/src/browser/CdpElectronProvider.ts index 2f0a00f50..daac1efe2 100644 --- a/src/browser/CdpElectronProvider.ts +++ b/src/browser/CdpElectronProvider.ts @@ -10,7 +10,7 @@ import { type ElectronTargetList, type InspectElectronPageInput, type ListElectronTargetsInput, -} from "../domain/electronObservation.js"; +} from "../domain/javascript/electronObservation.js"; import { AnalysisError } from "../domain/analysisErrorBase.js"; import { BrowserObservationError } from "../domain/browserObservationError.js"; import { ProviderAdapterError } from "../domain/providerAdapterError.js"; diff --git a/src/browser/CdpElectronScripts.ts b/src/browser/CdpElectronScripts.ts index 3d51cef9e..8349125d3 100644 --- a/src/browser/CdpElectronScripts.ts +++ b/src/browser/CdpElectronScripts.ts @@ -1,7 +1,7 @@ import type { ElectronPageInspection, InspectElectronPageInput, -} from "../domain/electronObservation.js"; +} from "../domain/javascript/electronObservation.js"; import { canonicalDigest } from "../domain/comparisonSemantics.js"; import { createWebTextArtifact } from "../domain/webContentArtifact.js"; import type { CdpConnection } from "./CdpConnection.js"; diff --git a/src/browser/CdpElectronWorkers.ts b/src/browser/CdpElectronWorkers.ts index 63a622490..080e1e46a 100644 --- a/src/browser/CdpElectronWorkers.ts +++ b/src/browser/CdpElectronWorkers.ts @@ -1,7 +1,7 @@ import type { ElectronPageInspection, InspectElectronPageInput, -} from "../domain/electronObservation.js"; +} from "../domain/javascript/electronObservation.js"; import type { CdpConnection } from "./CdpConnection.js"; import { CdpCaptureCompleteness } from "./CdpCaptureCompleteness.js"; import { diff --git a/src/browser/PlaywrightElectronActiveActions.test.ts b/src/browser/PlaywrightElectronActiveActions.test.ts index f2d5b1414..c8890cd45 100644 --- a/src/browser/PlaywrightElectronActiveActions.test.ts +++ b/src/browser/PlaywrightElectronActiveActions.test.ts @@ -5,8 +5,8 @@ import { expect, it } from "vitest"; import { electronActiveObservationInputSchema, electronActiveObservationResultSchema, -} from "../domain/electronActiveObservation.js"; -import { createElectronActiveObservationFixtureResult } from "../domain/electronActiveObservation.fixture.js"; +} from "../domain/javascript/electronActiveObservation.js"; +import { createElectronActiveObservationFixtureResult } from "../domain/javascript/electronActiveObservation.fixture.js"; import { runElectronActions } from "./PlaywrightElectronActiveActions.js"; it("parses window, renderer, and deep-link actions for agents", () => { diff --git a/src/browser/PlaywrightElectronActiveActions.ts b/src/browser/PlaywrightElectronActiveActions.ts index 7f4a953ff..2c4a71183 100644 --- a/src/browser/PlaywrightElectronActiveActions.ts +++ b/src/browser/PlaywrightElectronActiveActions.ts @@ -6,7 +6,7 @@ import { BrowserObservationError } from "../domain/browserObservationError.js"; import type { ElectronActiveObservationInput, ElectronActiveObservationResult, -} from "../domain/electronActiveObservation.js"; +} from "../domain/javascript/electronActiveObservation.js"; const OPERATION = "capture_electron_scenario" as const; diff --git a/src/browser/PlaywrightElectronActiveProvider.ts b/src/browser/PlaywrightElectronActiveProvider.ts index de81adccd..903136908 100644 --- a/src/browser/PlaywrightElectronActiveProvider.ts +++ b/src/browser/PlaywrightElectronActiveProvider.ts @@ -14,7 +14,7 @@ import { electronActiveObservationResultSchema, type ElectronActiveObservationInput, type ElectronActiveObservationResult, -} from "../domain/electronActiveObservation.js"; +} from "../domain/javascript/electronActiveObservation.js"; import { AnalysisError } from "../domain/analysisErrorBase.js"; import { BrowserObservationError } from "../domain/browserObservationError.js"; import { ProviderAdapterError } from "../domain/providerAdapterError.js"; diff --git a/src/browser/WebSourceMapFetcher.ts b/src/browser/WebSourceMapFetcher.ts index e8a84f761..adbbd0771 100644 --- a/src/browser/WebSourceMapFetcher.ts +++ b/src/browser/WebSourceMapFetcher.ts @@ -3,8 +3,8 @@ import { AnyMap, eachMapping } from "@jridgewell/trace-mapping"; import { sanitizeBrowserUrl } from "../domain/browserObservation.js"; import { isUrlLikeModuleSpecifier } from "../domain/webBundleAnalyzerAst.js"; -import { analyzeParsedJavaScriptSemantics } from "../domain/javascriptSemanticAnalysis.js"; -import { parseJavaScriptSource } from "../domain/javascriptSourceParser.js"; +import { analyzeParsedJavaScriptSemantics } from "../domain/javascript/javascriptSemanticAnalysis.js"; +import { parseJavaScriptSource } from "../domain/javascript/javascriptSourceParser.js"; import { hasValidSourceMapContents } from "../domain/sourceMapContents.js"; import type { AnalyzeWebBundleInput, diff --git a/src/cli/androidCommands.ts b/src/cli/androidCommands.ts index c4b85971c..bdcfc8589 100644 --- a/src/cli/androidCommands.ts +++ b/src/cli/androidCommands.ts @@ -1,4 +1,5 @@ import { z } from "incur"; +import { AnalysisError } from "../domain/analysisErrorBase.js"; import { AndroidAnalysisService } from "../application/android/AndroidAnalysisService.js"; import { createAndroidAnalysisProvider } from "../composition/android.js"; import { CLI_COMMANDS } from "../cliCommandNames.js"; @@ -15,13 +16,19 @@ export const registerAndroidCommands = ( logger: Logger, environment: Readonly>, ): void => { - const service = new AndroidAnalysisService( - createAndroidAnalysisProvider(environment), - ); + const provider = createAndroidAnalysisProvider(environment); + const service = new AndroidAnalysisService(provider); const execute = (name: string, operation: AndroidOperation, input: unknown) => withCommandCancellation((signal) => logCliCommand(logger, name, async () => { const result = await service.execute(operation, input, { signal }); + try { + await provider.close(); + } catch (cause) { + if (cause instanceof AnalysisError) + return projectAnalysisError(cause); + throw cause; + } return result.ok ? result.value : projectAnalysisError(result.error); }), ); diff --git a/src/cli/applicationCommands.ts b/src/cli/applicationCommands.ts index 7c8b0c05c..15e8ebcd2 100644 --- a/src/cli/applicationCommands.ts +++ b/src/cli/applicationCommands.ts @@ -22,11 +22,11 @@ import { androidApplicationProjectionInputSchema } from "../domain/android/andro import { appleApplicationProjectionInputSchema } from "../domain/appleApplication.js"; import { jsonValueSchema, type JsonValue } from "../domain/jsonValue.js"; import type { Logger } from "../logger.js"; -import { traceApplicationFeatureInputSchema } from "../domain/javascriptFeatureTraceSchemas.js"; -import { traceJavaScriptSemanticsInputSchema } from "../domain/javascriptSemanticTraceSchemas.js"; -import { compareApplicationVersionsInputSchema } from "../domain/javascriptApplicationVersionComparisonSchemas.js"; -import { compareSourceToBundleInputSchema } from "../domain/sourceToBundleComparisonSchemas.js"; -import { compareJavaScriptExportShapesInputSchema } from "../domain/javascriptExportShapeComparisonSchemas.js"; +import { traceApplicationFeatureInputSchema } from "../domain/javascript/javascriptFeatureTraceSchemas.js"; +import { traceJavaScriptSemanticsInputSchema } from "../domain/javascript/javascriptSemanticTraceSchemas.js"; +import { compareApplicationVersionsInputSchema } from "../domain/javascript/javascriptApplicationVersionComparisonSchemas.js"; +import { compareSourceToBundleInputSchema } from "../domain/javascript/sourceToBundleComparisonSchemas.js"; +import { compareJavaScriptExportShapesInputSchema } from "../domain/javascript/javascriptExportShapeComparisonSchemas.js"; import { projectInputIssues } from "../domain/inputIssueProjection.js"; import { reconstructionObligationLedgerInputSchema } from "../domain/reconstructionObligationLedgerSchemas.js"; diff --git a/src/cli/electronCommands.ts b/src/cli/electronCommands.ts index 405c8f990..4d076a03d 100644 --- a/src/cli/electronCommands.ts +++ b/src/cli/electronCommands.ts @@ -10,8 +10,8 @@ import { logCliCommand } from "../cliLogging.js"; import { inspectElectronPageInputSchema, listElectronTargetsInputSchema, -} from "../domain/electronObservation.js"; -import { electronActiveObservationInputSchema } from "../domain/electronActiveObservation.js"; +} from "../domain/javascript/electronObservation.js"; +import { electronActiveObservationInputSchema } from "../domain/javascript/electronActiveObservation.js"; import { AnalysisInputError } from "../domain/analysisErrorCore.js"; import { projectAnalysisError } from "../domain/analysisErrorProjection.js"; import type { JsonValue } from "../domain/jsonValue.js"; diff --git a/src/cliJavaScriptRuntimeCommands.ts b/src/cliJavaScriptRuntimeCommands.ts index f577c3f3a..89eac7e53 100644 --- a/src/cliJavaScriptRuntimeCommands.ts +++ b/src/cliJavaScriptRuntimeCommands.ts @@ -11,7 +11,7 @@ import { javascriptRuntimeKindSchema, listJavaScriptRuntimeTargetsInputSchema, observeJavaScriptRuntimeInputSchema, -} from "./domain/javascriptRuntimeObservation.js"; +} from "./domain/javascript/javascriptRuntimeObservation.js"; import { AnalysisInputError } from "./domain/analysisErrorCore.js"; import { projectAnalysisError } from "./domain/analysisErrorProjection.js"; import type { JsonValue } from "./domain/jsonValue.js"; diff --git a/src/contracts/android/androidToolContracts.ts b/src/contracts/android/androidToolContracts.ts index 983944b57..e20b7261b 100644 --- a/src/contracts/android/androidToolContracts.ts +++ b/src/contracts/android/androidToolContracts.ts @@ -12,7 +12,7 @@ export const ANDROID_TOOL_CONTRACTS = [ name: "inspect_android_package", ...toolContractMetadata("inspect_android_package"), description: - "Inspect a local APK's package, SDK and permission declarations, decoded manifest and class/resource counts. Does not execute the APK or verify signatures. Requires a caller-supplied JADX MCP JAR and Java; uses one worker in an isolated temporary workspace.", + "Inspect a local APK's package, SDK and permission declarations, decoded manifest and class/resource counts. Does not execute the APK or verify signatures. Requires a caller-supplied JADX MCP JAR and JDK; uses one worker in an isolated temporary workspace.", kind: "android-provider", inputSchema: androidInputSchemas.inspect_android_package, outputSchema: evidenceResultOf( @@ -41,7 +41,7 @@ export const ANDROID_TOOL_CONTRACTS = [ name: "inspect_android_class", ...toolContractMetadata("inspect_android_class"), description: - "Inspect one exact Android class's methods, fields and inner classes. Returns display signatures and explicit unknown DEX descriptors without materializing the whole application source.", + "Inspect one exact Android class's parsed methods, fields and inner classes, including synthetic members. Returns display signatures and explicit unknown DEX descriptors without generating source. Overload indices remain consistent within the artifact and engine session.", kind: "android-provider", inputSchema: androidInputSchemas.inspect_android_class, outputSchema: evidenceResultOf(androidResultSchemas.inspect_android_class), diff --git a/src/contracts/applicationToolContracts.ts b/src/contracts/applicationToolContracts.ts index 7e8c38156..e95bf7b03 100644 --- a/src/contracts/applicationToolContracts.ts +++ b/src/contracts/applicationToolContracts.ts @@ -1,15 +1,15 @@ -import { applicationVersionComparisonResultSchema } from "../domain/javascriptApplicationVersionComparisonSchemas.js"; -import { applicationFeatureTraceResultSchema } from "../domain/javascriptFeatureTraceSchemas.js"; -import { javaScriptSemanticTraceResultSchema } from "../domain/javascriptSemanticTraceSchemas.js"; -import { javaScriptExportShapeComparisonResultSchema } from "../domain/javascriptExportShapeComparisonSchemas.js"; -import { sourceToBundleComparisonResultSchema } from "../domain/sourceToBundleComparisonSchemas.js"; +import { applicationVersionComparisonResultSchema } from "../domain/javascript/javascriptApplicationVersionComparisonSchemas.js"; +import { applicationFeatureTraceResultSchema } from "../domain/javascript/javascriptFeatureTraceSchemas.js"; +import { javaScriptSemanticTraceResultSchema } from "../domain/javascript/javascriptSemanticTraceSchemas.js"; +import { javaScriptExportShapeComparisonResultSchema } from "../domain/javascript/javascriptExportShapeComparisonSchemas.js"; +import { sourceToBundleComparisonResultSchema } from "../domain/javascript/sourceToBundleComparisonSchemas.js"; import { compareApplicationVersionsRequestSchema, compareJavaScriptExportShapesRequestSchema, compareSourceToBundleRequestSchema, traceApplicationFeatureRequestSchema, traceJavaScriptSemanticsRequestSchema, -} from "./applicationWorkflowInputContracts.js"; +} from "./javascript/applicationWorkflowInputContracts.js"; import { reconstructionCoverageEvaluationInputSchema } from "../domain/reconstructionCoverageInput.js"; import { reconstructionClosureResultSchema } from "../domain/reconstructionCoverage.js"; import { @@ -32,7 +32,7 @@ import { JAVASCRIPT_EXPORT_SHAPE_COMPARISON_EXAMPLE, JAVASCRIPT_FEATURE_TRACE_EXAMPLE, SOURCE_TO_BUNDLE_COMPARISON_EXAMPLE, -} from "./javascriptApplicationWorkflowExamples.js"; +} from "./javascript/javascriptApplicationWorkflowExamples.js"; import { ANDROID_APPLICATION_GRAPH_EXAMPLE, APPLE_APPLICATION_GRAPH_EXAMPLE, diff --git a/src/contracts/contractSnapshot.test.ts b/src/contracts/contractSnapshot.test.ts index 7b9346e8e..f0bbe69a6 100644 --- a/src/contracts/contractSnapshot.test.ts +++ b/src/contracts/contractSnapshot.test.ts @@ -12,11 +12,11 @@ import { MANAGED_TOOL_CONTRACTS } from "./managedToolContracts.js"; import { MANAGED_WORKFLOW_TOOL_CONTRACTS } from "./managedWorkflowToolContracts.js"; import { BROWSER_TOOL_CONTRACTS } from "./browserToolContracts.js"; import { BROWSER_SCENARIO_TOOL_CONTRACTS } from "./browserScenarioToolContracts.js"; -import { ELECTRON_TOOL_CONTRACTS } from "./electronToolContracts.js"; -import { JAVASCRIPT_RUNTIME_OBSERVATION_TOOL_CONTRACTS } from "./javascriptRuntimeObservationToolContracts.js"; +import { ELECTRON_TOOL_CONTRACTS } from "./javascript/electronToolContracts.js"; +import { JAVASCRIPT_RUNTIME_OBSERVATION_TOOL_CONTRACTS } from "./javascript/javascriptRuntimeObservationToolContracts.js"; import { APPLICATION_TOOL_CONTRACTS } from "./applicationToolContracts.js"; import { WEB_SCRIPT_TOOL_CONTRACTS } from "./webScriptToolContracts.js"; -import { JAVASCRIPT_RECOVERY_TOOL_CONTRACTS } from "./javascriptRecoveryToolContracts.js"; +import { JAVASCRIPT_RECOVERY_TOOL_CONTRACTS } from "./javascript/javascriptRecoveryToolContracts.js"; import { TOOL_EFFECTS } from "./toolEffects.js"; import { toolContract } from "./toolContracts.js"; const contractJsonSchema = (schema: z.ZodType) => diff --git a/src/contracts/applicationWorkflowInputContracts.ts b/src/contracts/javascript/applicationWorkflowInputContracts.ts similarity index 77% rename from src/contracts/applicationWorkflowInputContracts.ts rename to src/contracts/javascript/applicationWorkflowInputContracts.ts index 7a33c9169..4b50621ed 100644 --- a/src/contracts/applicationWorkflowInputContracts.ts +++ b/src/contracts/javascript/applicationWorkflowInputContracts.ts @@ -1,11 +1,11 @@ import { z } from "zod"; -import { evidenceInputSchema } from "./evidenceInputContracts.js"; -import { compareApplicationVersionsInputSchema } from "../domain/javascriptApplicationVersionComparisonSchemas.js"; -import { compareJavaScriptExportShapesInputSchema } from "../domain/javascriptExportShapeComparisonSchemas.js"; -import { traceApplicationFeatureInputSchema } from "../domain/javascriptFeatureTraceSchemas.js"; -import { javaScriptSemanticQueryInputSchema } from "../domain/javascriptSemanticQuerySchemas.js"; -import { compareSourceToBundleInputSchema } from "../domain/sourceToBundleComparisonSchemas.js"; +import { evidenceInputSchema } from "../evidenceInputContracts.js"; +import { compareApplicationVersionsInputSchema } from "../../domain/javascript/javascriptApplicationVersionComparisonSchemas.js"; +import { compareJavaScriptExportShapesInputSchema } from "../../domain/javascript/javascriptExportShapeComparisonSchemas.js"; +import { traceApplicationFeatureInputSchema } from "../../domain/javascript/javascriptFeatureTraceSchemas.js"; +import { javaScriptSemanticQueryInputSchema } from "../../domain/javascript/javascriptSemanticQuerySchemas.js"; +import { compareSourceToBundleInputSchema } from "../../domain/javascript/sourceToBundleComparisonSchemas.js"; const traceApplicationFeatureFacts = { native_observations: diff --git a/src/contracts/electronToolContracts.ts b/src/contracts/javascript/electronToolContracts.ts similarity index 92% rename from src/contracts/electronToolContracts.ts rename to src/contracts/javascript/electronToolContracts.ts index ff72f6640..5406d023f 100644 --- a/src/contracts/electronToolContracts.ts +++ b/src/contracts/javascript/electronToolContracts.ts @@ -1,24 +1,24 @@ -import type { ToolContract } from "./toolContracts.js"; -import { toolContractMetadata } from "./toolEffects.js"; -import { evidenceResultOf } from "./toolOutputSchemas.js"; +import type { ToolContract } from "../toolContracts.js"; +import { toolContractMetadata } from "../toolEffects.js"; +import { evidenceResultOf } from "../toolOutputSchemas.js"; import { electronPageInspectionSchema, electronTargetListSchema, inspectElectronPageInputSchema, listElectronTargetsInputSchema, -} from "../domain/electronObservation.js"; +} from "../../domain/javascript/electronObservation.js"; import { electronActiveObservationInputSchema, electronActiveObservationResultSchema, -} from "../domain/electronActiveObservation.js"; +} from "../../domain/javascript/electronActiveObservation.js"; import { analyzeJavaScriptApplicationInputSchema, javascriptApplicationAnalysisResultSchema, -} from "../domain/javascriptApplicationAnalysis.js"; +} from "../../domain/javascript/javascriptApplicationAnalysis.js"; import { javascriptRuntimeReconciliationResultSchema, reconcileJavaScriptRuntimeInputSchema, -} from "../domain/javascriptRuntimeReconciliationSchemas.js"; +} from "../../domain/javascript/javascriptRuntimeReconciliationSchemas.js"; import { JAVASCRIPT_RUNTIME_RECONCILIATION_EXAMPLE } from "./javascriptRuntimeReconciliationExample.js"; const listOutputSchema = evidenceResultOf(electronTargetListSchema); diff --git a/src/contracts/javascriptApplicationWorkflowExamples.ts b/src/contracts/javascript/javascriptApplicationWorkflowExamples.ts similarity index 93% rename from src/contracts/javascriptApplicationWorkflowExamples.ts rename to src/contracts/javascript/javascriptApplicationWorkflowExamples.ts index d94a2fcc0..7cd7c25d5 100644 --- a/src/contracts/javascriptApplicationWorkflowExamples.ts +++ b/src/contracts/javascript/javascriptApplicationWorkflowExamples.ts @@ -1,10 +1,10 @@ -import { createEvidence } from "../domain/evidence.js"; -import { reconcileJavaScriptRuntime } from "../domain/javascriptRuntimeReconciliation.js"; +import { createEvidence } from "../../domain/evidence.js"; +import { reconcileJavaScriptRuntime } from "../../domain/javascript/javascriptRuntimeReconciliation.js"; import { JAVASCRIPT_APPLICATION_EVIDENCE_EXAMPLE, JAVASCRIPT_RUNTIME_RECONCILIATION_EXAMPLE, } from "./javascriptRuntimeReconciliationExample.js"; -import { createHistoricalSourceGraph } from "../domain/referenceSourceGraph.js"; +import { createHistoricalSourceGraph } from "../../domain/referenceSourceGraph.js"; const reconciliation = reconcileJavaScriptRuntime( JAVASCRIPT_RUNTIME_RECONCILIATION_EXAMPLE, diff --git a/src/contracts/javascriptRecoveryToolContracts.ts b/src/contracts/javascript/javascriptRecoveryToolContracts.ts similarity index 84% rename from src/contracts/javascriptRecoveryToolContracts.ts rename to src/contracts/javascript/javascriptRecoveryToolContracts.ts index a9ba47c66..e085440e4 100644 --- a/src/contracts/javascriptRecoveryToolContracts.ts +++ b/src/contracts/javascript/javascriptRecoveryToolContracts.ts @@ -1,10 +1,10 @@ import { javascriptRecoveryInputSchema, javascriptRecoveryResultSchema, -} from "../domain/javascriptRecovery.js"; -import { toolContractMetadata } from "./toolEffects.js"; -import { evidenceResultOf } from "./toolOutputSchemaPrimitives.js"; -import type { ToolContract } from "./toolContractTypes.js"; +} from "../../domain/javascript/javascriptRecovery.js"; +import { toolContractMetadata } from "../toolEffects.js"; +import { evidenceResultOf } from "../toolOutputSchemaPrimitives.js"; +import type { ToolContract } from "../toolContractTypes.js"; /** Derived script artifacts from optional upstream recovery adapters. */ export const JAVASCRIPT_RECOVERY_TOOL_CONTRACTS = [ diff --git a/src/contracts/javascriptRuntimeObservationToolContracts.ts b/src/contracts/javascript/javascriptRuntimeObservationToolContracts.ts similarity index 90% rename from src/contracts/javascriptRuntimeObservationToolContracts.ts rename to src/contracts/javascript/javascriptRuntimeObservationToolContracts.ts index 92e661962..2af7a7cbe 100644 --- a/src/contracts/javascriptRuntimeObservationToolContracts.ts +++ b/src/contracts/javascript/javascriptRuntimeObservationToolContracts.ts @@ -1,12 +1,12 @@ -import type { ToolContract } from "./toolContracts.js"; -import { toolContractMetadata } from "./toolEffects.js"; -import { evidenceResultOf } from "./toolOutputSchemas.js"; +import type { ToolContract } from "../toolContracts.js"; +import { toolContractMetadata } from "../toolEffects.js"; +import { evidenceResultOf } from "../toolOutputSchemas.js"; import { javascriptRuntimeObservationSchema, javascriptRuntimeTargetListSchema, listJavaScriptRuntimeTargetsInputSchema, observeJavaScriptRuntimeInputSchema, -} from "../domain/javascriptRuntimeObservation.js"; +} from "../../domain/javascript/javascriptRuntimeObservation.js"; const endpoint = "http://127.0.0.1:9229"; diff --git a/src/contracts/javascriptRuntimeReconciliationExample.ts b/src/contracts/javascript/javascriptRuntimeReconciliationExample.ts similarity index 94% rename from src/contracts/javascriptRuntimeReconciliationExample.ts rename to src/contracts/javascript/javascriptRuntimeReconciliationExample.ts index 6b71eba2b..6f7f3bd0f 100644 --- a/src/contracts/javascriptRuntimeReconciliationExample.ts +++ b/src/contracts/javascript/javascriptRuntimeReconciliationExample.ts @@ -1,14 +1,14 @@ -import { createEvidence } from "../domain/evidence.js"; +import { createEvidence } from "../../domain/evidence.js"; import { createJavaScriptApplicationGraph, createJavaScriptApplicationNode, -} from "../domain/javascriptApplicationGraph.js"; -import { createWebTextArtifact } from "../domain/webContentArtifact.js"; +} from "../../domain/javascript/javascriptApplicationGraph.js"; +import { createWebTextArtifact } from "../../domain/webContentArtifact.js"; import { createJavaScriptSemanticGraph, createJavaScriptSemanticGraphNode, -} from "../domain/javascriptSemanticGraph.js"; -import { JAVASCRIPT_SEMANTIC_RELATION_FAMILIES } from "../domain/javascriptSemanticGraphSchemas.js"; +} from "../../domain/javascript/javascriptSemanticGraph.js"; +import { JAVASCRIPT_SEMANTIC_RELATION_FAMILIES } from "../../domain/javascript/javascriptSemanticGraphSchemas.js"; const applicationSha256 = "1".repeat(64); const script = createWebTextArtifact( diff --git a/src/contracts/toolContracts.test.ts b/src/contracts/toolContracts.test.ts index 948cc59fb..b73588cb0 100644 --- a/src/contracts/toolContracts.test.ts +++ b/src/contracts/toolContracts.test.ts @@ -11,10 +11,10 @@ import { ANDROID_TOOL_CONTRACTS } from "./android/androidToolContracts.js"; import { MANAGED_WORKFLOW_TOOL_CONTRACTS } from "./managedWorkflowToolContracts.js"; import { NATIVE_TOOL_CONTRACTS } from "./nativeToolContracts.js"; import { BROWSER_PROVIDER_TOOL_CONTRACTS } from "./browserProviderToolContracts.js"; -import { ELECTRON_TOOL_CONTRACTS } from "./electronToolContracts.js"; -import { JAVASCRIPT_RUNTIME_OBSERVATION_TOOL_CONTRACTS } from "./javascriptRuntimeObservationToolContracts.js"; +import { ELECTRON_TOOL_CONTRACTS } from "./javascript/electronToolContracts.js"; +import { JAVASCRIPT_RUNTIME_OBSERVATION_TOOL_CONTRACTS } from "./javascript/javascriptRuntimeObservationToolContracts.js"; import { APPLICATION_TOOL_CONTRACTS } from "./applicationToolContracts.js"; -import { JAVASCRIPT_RECOVERY_TOOL_CONTRACTS } from "./javascriptRecoveryToolContracts.js"; +import { JAVASCRIPT_RECOVERY_TOOL_CONTRACTS } from "./javascript/javascriptRecoveryToolContracts.js"; import { WEB_SCRIPT_TOOL_CONTRACTS } from "./webScriptToolContracts.js"; const GROUPS = { diff --git a/src/contracts/toolContracts.ts b/src/contracts/toolContracts.ts index c5de12fd2..3966c2f56 100644 --- a/src/contracts/toolContracts.ts +++ b/src/contracts/toolContracts.ts @@ -5,11 +5,11 @@ import { FIRMWARE_TOOL_CONTRACTS } from "./firmware/firmwareToolContracts.js"; import { ANDROID_TOOL_CONTRACTS } from "./android/androidToolContracts.js"; import { MANAGED_WORKFLOW_TOOL_CONTRACTS } from "./managedWorkflowToolContracts.js"; import { BROWSER_PROVIDER_TOOL_CONTRACTS } from "./browserProviderToolContracts.js"; -import { ELECTRON_TOOL_CONTRACTS } from "./electronToolContracts.js"; -import { JAVASCRIPT_RUNTIME_OBSERVATION_TOOL_CONTRACTS } from "./javascriptRuntimeObservationToolContracts.js"; +import { ELECTRON_TOOL_CONTRACTS } from "./javascript/electronToolContracts.js"; +import { JAVASCRIPT_RUNTIME_OBSERVATION_TOOL_CONTRACTS } from "./javascript/javascriptRuntimeObservationToolContracts.js"; import { APPLICATION_TOOL_CONTRACTS } from "./applicationToolContracts.js"; import { WEB_SCRIPT_TOOL_CONTRACTS } from "./webScriptToolContracts.js"; -import { JAVASCRIPT_RECOVERY_TOOL_CONTRACTS } from "./javascriptRecoveryToolContracts.js"; +import { JAVASCRIPT_RECOVERY_TOOL_CONTRACTS } from "./javascript/javascriptRecoveryToolContracts.js"; import { OFFICIAL_TOOL_CONTRACTS } from "./officialToolContracts.js"; import { ENHANCED_TOOL_CONTRACTS } from "./enhancedToolContracts.js"; import { SESSION_TOOL_CONTRACTS } from "./sessionToolContracts.js"; diff --git a/src/contracts/workflowInputContracts.test.ts b/src/contracts/workflowInputContracts.test.ts index 508529737..291d3dded 100644 --- a/src/contracts/workflowInputContracts.test.ts +++ b/src/contracts/workflowInputContracts.test.ts @@ -1,8 +1,8 @@ import { describe, expect, it } from "vitest"; -import { traceJavaScriptSemanticsRequestSchema } from "./applicationWorkflowInputContracts.js"; +import { traceJavaScriptSemanticsRequestSchema } from "./javascript/applicationWorkflowInputContracts.js"; import { ARTIFACT_TOOL_CONTRACTS } from "./artifactToolContracts.js"; -import { JAVASCRIPT_FEATURE_TRACE_FULL_EVIDENCE_EXAMPLE } from "./javascriptApplicationWorkflowExamples.js"; +import { JAVASCRIPT_FEATURE_TRACE_FULL_EVIDENCE_EXAMPLE } from "./javascript/javascriptApplicationWorkflowExamples.js"; import { MANAGED_APPLICATION_GRAPH_EXAMPLE, MANAGED_MEMBER_COMPARISON_EXAMPLE, diff --git a/src/domain/callPath.test.ts b/src/domain/callPath.test.ts index b10c053a9..433a1ac3a 100644 --- a/src/domain/callPath.test.ts +++ b/src/domain/callPath.test.ts @@ -130,7 +130,106 @@ describe("call path reconstruction", () => { "0x3000", ]); }); +}); +describe("call path topology and capacity", () => { + it("retains every shortest path through merging branches and cycles", () => { + const result = run([ + observe("0x1000", ["0x3000", "0x2000", "0x1000"]), + observe("0x2000", ["0x3000", "0x5000", "0x6000"]), + observe("0x3000", ["0x6000", "0x5000"]), + observe("0x5000", ["0x4000", "0x1000"]), + observe("0x6000", ["0x4000"]), + ]); + expect( + result.paths.map(({ nodes }) => nodes.map(({ address }) => address)), + ).toEqual([ + ["0x1000", "0x2000", "0x5000", "0x4000"], + ["0x1000", "0x2000", "0x6000", "0x4000"], + ["0x1000", "0x3000", "0x5000", "0x4000"], + ["0x1000", "0x3000", "0x6000", "0x4000"], + ]); + }); + + it("keeps uncovered dead ends in search limitations when a path is found", () => { + const result = run([ + observe("0x1000", ["0x2000", "0x5000"]), + observe("0x2000", ["0x4000"]), + ]); + expect(result).toMatchObject({ + status: "found", + shortest_hops: 2, + search_scope: { exhaustive: false }, + explored: { nodes: 4, edges: 3, depth_reached: 2 }, + }); + expect(result.limitations).toContain( + "No analyze_function Evidence covers reachable function 0x5000", + ); + }); + + it("returns a zero-hop path when start and goal are the same function", () => { + const result = run([observe("0x1000", ["0x2000"])], { + goal: { address: "0x1000" }, + }); + expect(result).toMatchObject({ + status: "found", + shortest_hops: 0, + search_scope: { exhaustive: true }, + }); + expect( + result.paths.map(({ nodes }) => nodes.map(({ address }) => address)), + ).toEqual([["0x1000"]]); + }); + + it("reconstructs a deep function chain without exhausting the call stack", () => { + const length = 20_000; + const address = (index: number) => `0x${index.toString(16)}`; + const functions = Array.from({ length }, (_, index) => + observe(address(index + 1), [address(index + 2)]), + ); + const result = run(functions, { + start: { address: address(1) }, + goal: { address: address(length + 1) }, + }); + expect(result).toMatchObject({ status: "found", shortest_hops: length }); + expect(result.paths).toHaveLength(1); + expect(result.paths[0]?.nodes).toHaveLength(length + 1); + expect(result.paths[0]?.edges).toHaveLength(length); + expect(result.paths[0]?.nodes.at(-1)?.address).toBe(address(length + 1)); + }); + + it("returns the sole shortest path alongside a deep merging dead-end graph", () => { + const stages = 28; + const address = (index: number) => `0x${index.toString(16)}`; + const functions = [observe("0x1", ["0x2", "0x1000"])]; + for (let index = 2; index < stages + 2; index += 1) + functions.push(observe(address(index), [address(index + 1)])); + for (let index = 0; index < stages; index += 1) { + const base = 0x1000 + index * 2; + const next = [address(base + 2), address(base + 3)]; + functions.push(observe(address(base), next)); + functions.push(observe(address(base + 1), next)); + } + functions.push(observe(address(0x1000 + stages * 2), [])); + functions.push(observe(address(0x1001 + stages * 2), [])); + const result = run(functions, { + start: { address: "0x1" }, + goal: { address: address(stages + 2) }, + }); + expect(result).toMatchObject({ + status: "found", + shortest_hops: stages + 1, + search_scope: { exhaustive: true }, + }); + expect( + result.paths.map(({ nodes }) => nodes.map(({ address }) => address)), + ).toEqual([ + Array.from({ length: stages + 2 }, (_, index) => address(index + 1)), + ]); + }); +}); + +describe("call path evidence admission", () => { it("normalizes hex addresses and rejects duplicates and mixed providers", () => { expect( run([observe("0x001000", [])], { diff --git a/src/domain/callPath.ts b/src/domain/callPath.ts index 0363eb2d7..0f31d69c8 100644 --- a/src/domain/callPath.ts +++ b/src/domain/callPath.ts @@ -17,15 +17,18 @@ export type { CallPathInput, CallPathResult }; /** Minimal directed caller-to-callee adjacency for call-path search. */ class CallGraph { private readonly successors = new Map>(); + private readonly predecessors = new Map>(); mergeNode(node: string): void { if (!this.successors.has(node)) this.successors.set(node, new Set()); + if (!this.predecessors.has(node)) this.predecessors.set(node, new Set()); } mergeDirectedEdge(source: string, target: string): void { this.mergeNode(source); this.mergeNode(target); this.successors.get(source)?.add(target); + this.predecessors.get(target)?.add(source); } hasNode(node: string): boolean { @@ -39,29 +42,31 @@ class CallGraph { outNeighbors(node: string): string[] { return [...(this.successors.get(node) ?? [])]; } + + inNeighbors(node: string): string[] { + return [...(this.predecessors.get(node) ?? [])]; + } } -/** Breadth-first shortest depth from start to goal, or null when unreachable. */ -const shortestPathDepth = ( +/** Shortest remaining distance for every node that can reach the goal. */ +const distancesToGoal = ( graph: CallGraph, - start: string, goal: string, -): number | null => { - if (start === goal) return 0; - const depth = new Map([[start, 0]]); - const queue = [start]; +): ReadonlyMap => { + if (!graph.hasNode(goal)) return new Map(); + const depth = new Map([[goal, 0]]); + const queue = [goal]; for (let index = 0; index < queue.length; index += 1) { const node = queue[index] ?? ""; const next = (depth.get(node) ?? 0) + 1; - for (const neighbor of graph.outNeighbors(node)) { - if (neighbor === goal) return next; + for (const neighbor of graph.inNeighbors(node)) { if (!depth.has(neighbor)) { depth.set(neighbor, next); queue.push(neighbor); } } } - return null; + return depth; }; interface SearchState { @@ -82,10 +87,8 @@ export const buildCallPath = (input: CallPathInput): CallPathResult => { start: parsed.start.address, goal: parsed.goal.address, }); - const shortestDepth = - graph.hasNode(parsed.start.address) && graph.hasNode(parsed.goal.address) - ? shortestPathDepth(graph, parsed.start.address, parsed.goal.address) - : null; + const goalDistances = distancesToGoal(graph, parsed.goal.address); + const shortestDepth = goalDistances.get(parsed.start.address) ?? null; const paths = shortestDepth === null ? [] @@ -93,7 +96,7 @@ export const buildCallPath = (input: CallPathInput): CallPathResult => { graph, start: parsed.start.address, goal: parsed.goal.address, - shortestDepth, + goalDistances, }).paths.map((path) => citePath(path, snapshots)); const shortestHops = paths[0]?.hops; const found = shortestHops !== undefined; @@ -135,7 +138,10 @@ const summarizeSearch = ( (count, node) => count + (graph.hasNode(node) ? graph.outDegree(node) : 0), 0, ), - depth_reached: Math.max(0, ...reached.values()), + depth_reached: [...reached.values()].reduce( + (maximum, depth) => Math.max(maximum, depth), + 0, + ), }); const prepareCallGraph = (input: CallPathInput) => { @@ -261,58 +267,64 @@ interface EnumerationInput { readonly graph: CallGraph; readonly start: string; readonly goal: string; - readonly shortestDepth: number; + readonly goalDistances: ReadonlyMap; } const enumeratePaths = ({ graph, start, goal, - shortestDepth, + goalDistances, }: EnumerationInput): { readonly paths: string[][]; } => { const output: string[][] = []; - const state: EnumerationState = { - graph, - goal, - path: [start], - visited: new Set([start]), - output, + const path = [start]; + const neighbors = new Map(); + const frame = (node: string): EnumerationFrame => { + let candidates = neighbors.get(node); + if (candidates === undefined) { + const distance = goalDistances.get(node); + candidates = graph + .outNeighbors(node) + .filter( + (neighbor) => + distance !== undefined && + goalDistances.get(neighbor) === distance - 1, + ) + .sort((left, right) => left.localeCompare(right)); + neighbors.set(node, candidates); + } + return { neighbors: candidates, nextIndex: 0 }; }; - enumerateAtDepth(state, shortestDepth); + const pending = [frame(start)]; + while (pending.length > 0) { + const current = pending.at(-1); + if (current === undefined) break; + if (path.at(-1) === goal) { + output.push([...path]); + pending.pop(); + path.pop(); + continue; + } + const neighbor = current.neighbors[current.nextIndex]; + if (neighbor === undefined) { + pending.pop(); + path.pop(); + continue; + } + current.nextIndex += 1; + path.push(neighbor); + pending.push(frame(neighbor)); + } return { paths: output }; }; -interface EnumerationState { - readonly graph: CallGraph; - readonly goal: string; - readonly path: string[]; - readonly visited: Set; - readonly output: string[][]; +interface EnumerationFrame { + readonly neighbors: readonly string[]; + nextIndex: number; } -const enumerateAtDepth = (state: EnumerationState, remaining: number): void => { - const { graph, goal, path, visited, output } = state; - const current = path.at(-1); - if (current === undefined) return; - if (remaining === 0) { - if (current === goal) output.push([...path]); - return; - } - if (current === goal) return; - for (const neighbor of graph - .outNeighbors(current) - .sort((left, right) => left.localeCompare(right))) { - if (visited.has(neighbor)) continue; - visited.add(neighbor); - path.push(neighbor); - enumerateAtDepth(state, remaining - 1); - path.pop(); - visited.delete(neighbor); - } -}; - const citePath = ( addresses: readonly string[], snapshots: ReadonlyMap, diff --git a/src/domain/electronActiveObservation.fixture.ts b/src/domain/javascript/electronActiveObservation.fixture.ts similarity index 100% rename from src/domain/electronActiveObservation.fixture.ts rename to src/domain/javascript/electronActiveObservation.fixture.ts diff --git a/src/domain/electronActiveObservation.ts b/src/domain/javascript/electronActiveObservation.ts similarity index 100% rename from src/domain/electronActiveObservation.ts rename to src/domain/javascript/electronActiveObservation.ts diff --git a/src/domain/electronNativeLoaderPaths.test.ts b/src/domain/javascript/electronNativeLoaderPaths.test.ts similarity index 100% rename from src/domain/electronNativeLoaderPaths.test.ts rename to src/domain/javascript/electronNativeLoaderPaths.test.ts diff --git a/src/domain/electronObservation.ts b/src/domain/javascript/electronObservation.ts similarity index 92% rename from src/domain/electronObservation.ts rename to src/domain/javascript/electronObservation.ts index 538e2872f..735bbcf84 100644 --- a/src/domain/electronObservation.ts +++ b/src/domain/javascript/electronObservation.ts @@ -1,10 +1,10 @@ import { z } from "zod"; -import { browserCompletenessSchema } from "./browserCompleteness.js"; -import { browserEndpointSchema } from "./browserObservation.js"; -import { browserVersionSchema } from "./browserObservationSchemas.js"; -import { webTextArtifactSchema } from "./webContentArtifact.js"; -import { prefixedDigestSchema } from "./../domain/digests.js"; +import { browserCompletenessSchema } from "../browserCompleteness.js"; +import { browserEndpointSchema } from "../browserObservation.js"; +import { browserVersionSchema } from "../browserObservationSchemas.js"; +import { webTextArtifactSchema } from "../webContentArtifact.js"; +import { prefixedDigestSchema } from "../digests.js"; const approvedElectronInput = { cdp_endpoint: browserEndpointSchema, diff --git a/src/domain/electronStaticAnalysis.ts b/src/domain/javascript/electronStaticAnalysis.ts similarity index 100% rename from src/domain/electronStaticAnalysis.ts rename to src/domain/javascript/electronStaticAnalysis.ts diff --git a/src/domain/electronStaticAnalysisBrowser.ts b/src/domain/javascript/electronStaticAnalysisBrowser.ts similarity index 99% rename from src/domain/electronStaticAnalysisBrowser.ts rename to src/domain/javascript/electronStaticAnalysisBrowser.ts index ff28c0ed2..3439e1a6c 100644 --- a/src/domain/electronStaticAnalysisBrowser.ts +++ b/src/domain/javascript/electronStaticAnalysisBrowser.ts @@ -15,7 +15,7 @@ import { electronStaticValue, objectProperty, } from "./electronStaticAnalysisValues.js"; -import { compareCodePoints } from "./canonicalOrdering.js"; +import { compareCodePoints } from "../canonicalOrdering.js"; import { addLocatedFinding } from "./javascriptStaticAnalysisFindings.js"; import { argumentNode, diff --git a/src/domain/electronStaticAnalysisIpc.ts b/src/domain/javascript/electronStaticAnalysisIpc.ts similarity index 100% rename from src/domain/electronStaticAnalysisIpc.ts rename to src/domain/javascript/electronStaticAnalysisIpc.ts diff --git a/src/domain/electronStaticAnalysisNative.ts b/src/domain/javascript/electronStaticAnalysisNative.ts similarity index 98% rename from src/domain/electronStaticAnalysisNative.ts rename to src/domain/javascript/electronStaticAnalysisNative.ts index 6e6c75e0e..e292596dc 100644 --- a/src/domain/electronStaticAnalysisNative.ts +++ b/src/domain/javascript/electronStaticAnalysisNative.ts @@ -1,7 +1,7 @@ import * as t from "@babel/types"; -import { compareCodePoints } from "./canonicalOrdering.js"; -import { stripQueryAndFragment } from "./artifactPathSyntax.js"; +import { compareCodePoints } from "../canonicalOrdering.js"; +import { stripQueryAndFragment } from "../artifactPathSyntax.js"; import type { ElectronNativeAddonBindingFinding } from "./electronStaticAnalysisTypes.js"; import { addLocatedFinding } from "./javascriptStaticAnalysisFindings.js"; import { diff --git a/src/domain/electronStaticAnalysisOptions.test.ts b/src/domain/javascript/electronStaticAnalysisOptions.test.ts similarity index 100% rename from src/domain/electronStaticAnalysisOptions.test.ts rename to src/domain/javascript/electronStaticAnalysisOptions.test.ts diff --git a/src/domain/electronStaticAnalysisTypes.ts b/src/domain/javascript/electronStaticAnalysisTypes.ts similarity index 100% rename from src/domain/electronStaticAnalysisTypes.ts rename to src/domain/javascript/electronStaticAnalysisTypes.ts diff --git a/src/domain/electronStaticAnalysisValues.ts b/src/domain/javascript/electronStaticAnalysisValues.ts similarity index 98% rename from src/domain/electronStaticAnalysisValues.ts rename to src/domain/javascript/electronStaticAnalysisValues.ts index 2ed6551fd..d6d9636c0 100644 --- a/src/domain/electronStaticAnalysisValues.ts +++ b/src/domain/javascript/electronStaticAnalysisValues.ts @@ -1,6 +1,6 @@ import * as t from "@babel/types"; -import { compareCodePoints } from "./canonicalOrdering.js"; +import { compareCodePoints } from "../canonicalOrdering.js"; import type { ElectronStaticValue } from "./electronStaticAnalysisTypes.js"; import { semanticStaticPropertyName } from "./javascriptAstValues.js"; import { sourceSlice } from "./javascriptStaticAnalysisHelpers.js"; diff --git a/src/domain/javascriptApplicationAnalysis.ts b/src/domain/javascript/javascriptApplicationAnalysis.ts similarity index 96% rename from src/domain/javascriptApplicationAnalysis.ts rename to src/domain/javascript/javascriptApplicationAnalysis.ts index b9275676d..5b0ee66d8 100644 --- a/src/domain/javascriptApplicationAnalysis.ts +++ b/src/domain/javascript/javascriptApplicationAnalysis.ts @@ -3,11 +3,11 @@ import { z } from "zod"; import { artifactIntegrityPolicySchema, integrityContradictionSchema, -} from "./artifactGraph.js"; +} from "../artifactGraph.js"; import { javascriptApplicationGraphSchema } from "./javascriptApplicationGraph.js"; import { javaScriptSemanticGraphSchema } from "./javascriptSemanticGraph.js"; -import { digestSchema } from "./../domain/digests.js"; -import { prefixedDigestSchema } from "./../domain/digests.js"; +import { digestSchema } from "../digests.js"; +import { prefixedDigestSchema } from "../digests.js"; const countSchema = z.number().int().min(0); diff --git a/src/domain/javascriptApplicationChangeGraph.ts b/src/domain/javascript/javascriptApplicationChangeGraph.ts similarity index 99% rename from src/domain/javascriptApplicationChangeGraph.ts rename to src/domain/javascript/javascriptApplicationChangeGraph.ts index dd52f6f90..c5b2d0d07 100644 --- a/src/domain/javascriptApplicationChangeGraph.ts +++ b/src/domain/javascript/javascriptApplicationChangeGraph.ts @@ -7,7 +7,7 @@ import { type ApplicationNode, type JavaScriptApplicationGraph, } from "./javascriptApplicationGraph.js"; -import { compareCodePoints, uniqueSorted } from "./canonicalOrdering.js"; +import { compareCodePoints, uniqueSorted } from "../canonicalOrdering.js"; import type { ApplicationVersionComparisonItem } from "./javascriptApplicationVersionComparisonSchemas.js"; interface ChangeGraphInput { diff --git a/src/domain/javascriptApplicationEvidenceSchemas.ts b/src/domain/javascript/javascriptApplicationEvidenceSchemas.ts similarity index 99% rename from src/domain/javascriptApplicationEvidenceSchemas.ts rename to src/domain/javascript/javascriptApplicationEvidenceSchemas.ts index 72bbf74a3..9cbe043a9 100644 --- a/src/domain/javascriptApplicationEvidenceSchemas.ts +++ b/src/domain/javascript/javascriptApplicationEvidenceSchemas.ts @@ -1,6 +1,6 @@ import { z } from "zod"; -import { digestSchema } from "./../domain/digests.js"; -import { prefixedDigestSchema } from "./../domain/digests.js"; +import { digestSchema } from "../digests.js"; +import { prefixedDigestSchema } from "../digests.js"; const boundedTextSchema = z.string().min(1); const boundedKeySchema = z.string().min(1); diff --git a/src/domain/javascriptApplicationGraph.fixture.ts b/src/domain/javascript/javascriptApplicationGraph.fixture.ts similarity index 100% rename from src/domain/javascriptApplicationGraph.fixture.ts rename to src/domain/javascript/javascriptApplicationGraph.fixture.ts diff --git a/src/domain/javascriptApplicationGraph.test.ts b/src/domain/javascript/javascriptApplicationGraph.test.ts similarity index 100% rename from src/domain/javascriptApplicationGraph.test.ts rename to src/domain/javascript/javascriptApplicationGraph.test.ts diff --git a/src/domain/javascriptApplicationGraph.ts b/src/domain/javascript/javascriptApplicationGraph.ts similarity index 98% rename from src/domain/javascriptApplicationGraph.ts rename to src/domain/javascript/javascriptApplicationGraph.ts index ef82887c7..cfb8181b5 100644 --- a/src/domain/javascriptApplicationGraph.ts +++ b/src/domain/javascript/javascriptApplicationGraph.ts @@ -1,6 +1,6 @@ import { z } from "zod"; -import { canonicalDigest, canonicalJson } from "./comparisonSemantics.js"; -import { compareCodePoints, uniqueSorted } from "./canonicalOrdering.js"; +import { canonicalDigest, canonicalJson } from "../comparisonSemantics.js"; +import { compareCodePoints, uniqueSorted } from "../canonicalOrdering.js"; import type { ApplicationGraphEvidence, diff --git a/src/domain/javascriptApplicationGraphSchemas.ts b/src/domain/javascript/javascriptApplicationGraphSchemas.ts similarity index 97% rename from src/domain/javascriptApplicationGraphSchemas.ts rename to src/domain/javascript/javascriptApplicationGraphSchemas.ts index 93a36b54b..0836664a3 100644 --- a/src/domain/javascriptApplicationGraphSchemas.ts +++ b/src/domain/javascript/javascriptApplicationGraphSchemas.ts @@ -5,8 +5,8 @@ import { applicationGraphEvidenceSchema, applicationNodeIdentitySchema, } from "./javascriptApplicationEvidenceSchemas.js"; -import { jsonValueSchema } from "./jsonValue.js"; -import { prefixedDigestSchema } from "./../domain/digests.js"; +import { jsonValueSchema } from "../jsonValue.js"; +import { prefixedDigestSchema } from "../digests.js"; const boundedTextSchema = z.string().min(1); diff --git a/src/domain/javascriptApplicationVersionComparison.ts b/src/domain/javascript/javascriptApplicationVersionComparison.ts similarity index 97% rename from src/domain/javascriptApplicationVersionComparison.ts rename to src/domain/javascript/javascriptApplicationVersionComparison.ts index 4358565ca..dd340c298 100644 --- a/src/domain/javascriptApplicationVersionComparison.ts +++ b/src/domain/javascript/javascriptApplicationVersionComparison.ts @@ -1,6 +1,6 @@ -import { canonicalDigest } from "./comparisonSemantics.js"; -import { uniqueSorted } from "./canonicalOrdering.js"; -import type { Evidence } from "./evidence.js"; +import { canonicalDigest } from "../comparisonSemantics.js"; +import { uniqueSorted } from "../canonicalOrdering.js"; +import type { Evidence } from "../evidence.js"; import { buildJavaScriptApplicationChangeGraph } from "./javascriptApplicationChangeGraph.js"; import { applicationVersionComparisonResultSchema, diff --git a/src/domain/javascriptApplicationVersionComparisonSchemas.ts b/src/domain/javascript/javascriptApplicationVersionComparisonSchemas.ts similarity index 97% rename from src/domain/javascriptApplicationVersionComparisonSchemas.ts rename to src/domain/javascript/javascriptApplicationVersionComparisonSchemas.ts index 1fcd2ac43..49488de51 100644 --- a/src/domain/javascriptApplicationVersionComparisonSchemas.ts +++ b/src/domain/javascript/javascriptApplicationVersionComparisonSchemas.ts @@ -1,10 +1,10 @@ import { z } from "zod"; -import { emptyArraySchema } from "./emptyArraySchema.js"; -import { evidenceSchema } from "./evidence.js"; +import { emptyArraySchema } from "../emptyArraySchema.js"; +import { evidenceSchema } from "../evidence.js"; import { javascriptApplicationGraphSchema } from "./javascriptApplicationGraph.js"; import { JAVASCRIPT_APPLICATION_NODE_KINDS } from "./javascriptApplicationGraphSchemas.js"; -import { prefixedDigestSchema } from "./../domain/digests.js"; +import { prefixedDigestSchema } from "../digests.js"; const evidenceIdSchema = prefixedDigestSchema("ev"); const nodeIdSchema = prefixedDigestSchema("jag_node"); diff --git a/src/domain/javascriptApplicationVersionItems.ts b/src/domain/javascript/javascriptApplicationVersionItems.ts similarity index 98% rename from src/domain/javascriptApplicationVersionItems.ts rename to src/domain/javascript/javascriptApplicationVersionItems.ts index a47a4ffc1..2a3deac86 100644 --- a/src/domain/javascriptApplicationVersionItems.ts +++ b/src/domain/javascript/javascriptApplicationVersionItems.ts @@ -2,9 +2,9 @@ import { absenceClaimable, canonicalDigest, canonicalJson, -} from "./comparisonSemantics.js"; -import { compareCodePoints } from "./canonicalOrdering.js"; -import type { Evidence } from "./evidence.js"; +} from "../comparisonSemantics.js"; +import { compareCodePoints } from "../canonicalOrdering.js"; +import type { Evidence } from "../evidence.js"; import { type ApplicationEdge, type ApplicationNode, diff --git a/src/domain/javascriptApplicationVersionKeys.ts b/src/domain/javascript/javascriptApplicationVersionKeys.ts similarity index 98% rename from src/domain/javascriptApplicationVersionKeys.ts rename to src/domain/javascript/javascriptApplicationVersionKeys.ts index c8dd81359..9b7917158 100644 --- a/src/domain/javascriptApplicationVersionKeys.ts +++ b/src/domain/javascript/javascriptApplicationVersionKeys.ts @@ -1,6 +1,6 @@ -import { compareCodePoints } from "./canonicalOrdering.js"; +import { compareCodePoints } from "../canonicalOrdering.js"; import type { ApplicationNode } from "./javascriptApplicationGraph.js"; -import type { JsonValue } from "./jsonValue.js"; +import type { JsonValue } from "../jsonValue.js"; /** One deterministic one-to-one match between two graph versions. */ type ApplicationVersionPairMatch = diff --git a/src/domain/javascriptAstFingerprint.test.ts b/src/domain/javascript/javascriptAstFingerprint.test.ts similarity index 85% rename from src/domain/javascriptAstFingerprint.test.ts rename to src/domain/javascript/javascriptAstFingerprint.test.ts index 94eafeb82..ddbb85ade 100644 --- a/src/domain/javascriptAstFingerprint.test.ts +++ b/src/domain/javascript/javascriptAstFingerprint.test.ts @@ -1,7 +1,7 @@ import { parse } from "@babel/parser"; import { describe, expect, it } from "vitest"; -import { fingerprintJavaScriptAst } from "../../src/domain/javascriptAstFingerprint.js"; +import { fingerprintJavaScriptAst } from "./javascriptAstFingerprint.js"; describe("JavaScript AST fingerprints", () => { it("includes complete literal values in the fingerprint", () => { diff --git a/src/domain/javascriptAstFingerprint.ts b/src/domain/javascript/javascriptAstFingerprint.ts similarity index 98% rename from src/domain/javascriptAstFingerprint.ts rename to src/domain/javascript/javascriptAstFingerprint.ts index deda5e330..569a4895d 100644 --- a/src/domain/javascriptAstFingerprint.ts +++ b/src/domain/javascript/javascriptAstFingerprint.ts @@ -2,7 +2,7 @@ import { createHash } from "node:crypto"; import * as t from "@babel/types"; -import { compareCodePoints } from "./canonicalOrdering.js"; +import { compareCodePoints } from "../canonicalOrdering.js"; import { propertyName } from "./javascriptAstValues.js"; import { stringValue } from "./javascriptStaticAnalysisHelpers.js"; diff --git a/src/domain/javascriptAstValues.ts b/src/domain/javascript/javascriptAstValues.ts similarity index 100% rename from src/domain/javascriptAstValues.ts rename to src/domain/javascript/javascriptAstValues.ts diff --git a/src/domain/javascriptExportShapeComparison.ts b/src/domain/javascript/javascriptExportShapeComparison.ts similarity index 99% rename from src/domain/javascriptExportShapeComparison.ts rename to src/domain/javascript/javascriptExportShapeComparison.ts index af6f0afc8..d8c8620fa 100644 --- a/src/domain/javascriptExportShapeComparison.ts +++ b/src/domain/javascript/javascriptExportShapeComparison.ts @@ -1,4 +1,4 @@ -import { uniqueSorted } from "./canonicalOrdering.js"; +import { uniqueSorted } from "../canonicalOrdering.js"; import { digestExportShapeValue } from "./javascriptExportShapeComparisonIdentity.js"; import { javaScriptExportShapeComparisonResultSchema, diff --git a/src/domain/javascriptExportShapeComparisonIdentity.ts b/src/domain/javascript/javascriptExportShapeComparisonIdentity.ts similarity index 100% rename from src/domain/javascriptExportShapeComparisonIdentity.ts rename to src/domain/javascript/javascriptExportShapeComparisonIdentity.ts diff --git a/src/domain/javascriptExportShapeComparisonSchemas.test.ts b/src/domain/javascript/javascriptExportShapeComparisonSchemas.test.ts similarity index 100% rename from src/domain/javascriptExportShapeComparisonSchemas.test.ts rename to src/domain/javascript/javascriptExportShapeComparisonSchemas.test.ts diff --git a/src/domain/javascriptExportShapeComparisonSchemas.ts b/src/domain/javascript/javascriptExportShapeComparisonSchemas.ts similarity index 98% rename from src/domain/javascriptExportShapeComparisonSchemas.ts rename to src/domain/javascript/javascriptExportShapeComparisonSchemas.ts index 4048eda7d..1e0d47795 100644 --- a/src/domain/javascriptExportShapeComparisonSchemas.ts +++ b/src/domain/javascript/javascriptExportShapeComparisonSchemas.ts @@ -1,7 +1,7 @@ import { z } from "zod"; -import { evidenceSchema } from "./evidence.js"; -import { prefixedDigestSchema } from "./../domain/digests.js"; +import { evidenceSchema } from "../evidence.js"; +import { prefixedDigestSchema } from "../digests.js"; const evidenceIdSchema = prefixedDigestSchema("ev"); const graphIdSchema = prefixedDigestSchema("jag"); diff --git a/src/domain/javascriptExportShapeSelection.ts b/src/domain/javascript/javascriptExportShapeSelection.ts similarity index 99% rename from src/domain/javascriptExportShapeSelection.ts rename to src/domain/javascript/javascriptExportShapeSelection.ts index 24609e5d6..10c706780 100644 --- a/src/domain/javascriptExportShapeSelection.ts +++ b/src/domain/javascript/javascriptExportShapeSelection.ts @@ -7,7 +7,7 @@ import { type JavaScriptExportShapeComparisonResult, type ProjectedExportReturnShapes, } from "./javascriptExportShapeComparisonSchemas.js"; -import { compareCodePoints } from "./canonicalOrdering.js"; +import { compareCodePoints } from "../canonicalOrdering.js"; type Shape = ProjectedExportReturnShapes["static_return_shapes"][number]; type SelectorResult = JavaScriptExportShapeComparisonResult["left"]; diff --git a/src/domain/javascriptExportShapeVariants.ts b/src/domain/javascript/javascriptExportShapeVariants.ts similarity index 99% rename from src/domain/javascriptExportShapeVariants.ts rename to src/domain/javascript/javascriptExportShapeVariants.ts index a34018ae7..00c420c44 100644 --- a/src/domain/javascriptExportShapeVariants.ts +++ b/src/domain/javascript/javascriptExportShapeVariants.ts @@ -7,7 +7,7 @@ import type { JavaScriptExportShapeComparisonResult, ProjectedExportReturnShapes, } from "./javascriptExportShapeComparisonSchemas.js"; -import { compareCodePoints, uniqueSorted } from "./canonicalOrdering.js"; +import { compareCodePoints, uniqueSorted } from "../canonicalOrdering.js"; import type { SelectedJavaScriptExport } from "./javascriptExportShapeSelection.js"; type Primitive = string | number | boolean | null; diff --git a/src/domain/javascriptFeatureSeed.array_members.test.ts b/src/domain/javascript/javascriptFeatureSeed.array_members.test.ts similarity index 99% rename from src/domain/javascriptFeatureSeed.array_members.test.ts rename to src/domain/javascript/javascriptFeatureSeed.array_members.test.ts index 3eccb17ec..bc3828fb5 100644 --- a/src/domain/javascriptFeatureSeed.array_members.test.ts +++ b/src/domain/javascript/javascriptFeatureSeed.array_members.test.ts @@ -13,7 +13,7 @@ import { findApplicationFeatureSeeds } from "./javascriptFeatureSeed.js"; import { traceApplicationFeature } from "./javascriptFeatureTrace.js"; import type { ApplicationFeatureSeed } from "./javascriptFeatureTraceSchemas.js"; import { analyzeJavaScriptStaticSource } from "./javascriptStaticAnalysis.js"; -import type { JsonValue } from "./jsonValue.js"; +import type { JsonValue } from "../jsonValue.js"; const memberFields = [ { kind: "api", nodeKind: "context-bridge-api", field: "members" }, diff --git a/src/domain/javascriptFeatureSeed.test.ts b/src/domain/javascript/javascriptFeatureSeed.test.ts similarity index 97% rename from src/domain/javascriptFeatureSeed.test.ts rename to src/domain/javascript/javascriptFeatureSeed.test.ts index 746808340..d7f69b871 100644 --- a/src/domain/javascriptFeatureSeed.test.ts +++ b/src/domain/javascript/javascriptFeatureSeed.test.ts @@ -1,7 +1,7 @@ import { describe, expect, it } from "vitest"; import { buildSyntheticJavaScriptApplicationGraph } from "./javascriptApplicationGraph.fixture.js"; -import type { JsonValue } from "./jsonValue.js"; +import type { JsonValue } from "../jsonValue.js"; import { findApplicationFeatureSeeds } from "./javascriptFeatureSeed.js"; describe("application feature seed property matching", () => { diff --git a/src/domain/javascriptFeatureSeed.ts b/src/domain/javascript/javascriptFeatureSeed.ts similarity index 98% rename from src/domain/javascriptFeatureSeed.ts rename to src/domain/javascript/javascriptFeatureSeed.ts index 819bb7577..9a836a2cd 100644 --- a/src/domain/javascriptFeatureSeed.ts +++ b/src/domain/javascript/javascriptFeatureSeed.ts @@ -1,10 +1,10 @@ -import { compareCodePoints } from "./canonicalOrdering.js"; +import { compareCodePoints } from "../canonicalOrdering.js"; import type { ApplicationNode } from "./javascriptApplicationGraph.js"; import { featureSeedMatchMode, type ApplicationFeatureSeed, } from "./javascriptFeatureTraceSchemas.js"; -import type { JsonValue } from "./jsonValue.js"; +import type { JsonValue } from "../jsonValue.js"; /** One explicit field that matched a feature seed. */ export interface ApplicationFeatureSeedMatch { diff --git a/src/domain/javascriptFeatureTrace.ts b/src/domain/javascript/javascriptFeatureTrace.ts similarity index 97% rename from src/domain/javascriptFeatureTrace.ts rename to src/domain/javascript/javascriptFeatureTrace.ts index 2435486d6..c10b2bd25 100644 --- a/src/domain/javascriptFeatureTrace.ts +++ b/src/domain/javascript/javascriptFeatureTrace.ts @@ -1,6 +1,6 @@ -import { canonicalDigest } from "./comparisonSemantics.js"; -import { compareCodePoints, uniqueSorted } from "./canonicalOrdering.js"; -import type { Evidence } from "./evidence.js"; +import { canonicalDigest } from "../comparisonSemantics.js"; +import { compareCodePoints, uniqueSorted } from "../canonicalOrdering.js"; +import type { Evidence } from "../evidence.js"; import { createJavaScriptApplicationGraph, type ApplicationEdge, diff --git a/src/domain/javascriptFeatureTraceSchemas.ts b/src/domain/javascript/javascriptFeatureTraceSchemas.ts similarity index 96% rename from src/domain/javascriptFeatureTraceSchemas.ts rename to src/domain/javascript/javascriptFeatureTraceSchemas.ts index 5ee879a7c..517d7c9ad 100644 --- a/src/domain/javascriptFeatureTraceSchemas.ts +++ b/src/domain/javascript/javascriptFeatureTraceSchemas.ts @@ -1,9 +1,9 @@ import { z } from "zod"; -import { evidenceSchema, providerSchema } from "./evidence.js"; +import { evidenceSchema, providerSchema } from "../evidence.js"; import { javascriptApplicationGraphSchema } from "./javascriptApplicationGraph.js"; -import { digestSchema } from "./../domain/digests.js"; -import { prefixedDigestSchema } from "./../domain/digests.js"; +import { digestSchema } from "../digests.js"; +import { prefixedDigestSchema } from "../digests.js"; const evidenceIdSchema = prefixedDigestSchema("ev"); const nodeIdSchema = prefixedDigestSchema("jag_node"); diff --git a/src/domain/javascriptFeatureTraversal.ts b/src/domain/javascript/javascriptFeatureTraversal.ts similarity index 94% rename from src/domain/javascriptFeatureTraversal.ts rename to src/domain/javascript/javascriptFeatureTraversal.ts index 96f6932b1..8935fe11e 100644 --- a/src/domain/javascriptFeatureTraversal.ts +++ b/src/domain/javascript/javascriptFeatureTraversal.ts @@ -3,7 +3,7 @@ import { type ApplicationNode, type JavaScriptApplicationGraph, } from "./javascriptApplicationGraph.js"; -import { compareCodePoints } from "./canonicalOrdering.js"; +import { compareCodePoints } from "../canonicalOrdering.js"; interface AdjacencyEntry { readonly edge: ApplicationEdge; @@ -93,5 +93,7 @@ const addAdjacency = ( nodeId: string, entry: AdjacencyEntry, ): void => { - adjacency.set(nodeId, [...(adjacency.get(nodeId) ?? []), entry]); + const entries = adjacency.get(nodeId); + if (entries === undefined) adjacency.set(nodeId, [entry]); + else entries.push(entry); }; diff --git a/src/domain/javascriptNativeHandoff.ts b/src/domain/javascript/javascriptNativeHandoff.ts similarity index 97% rename from src/domain/javascriptNativeHandoff.ts rename to src/domain/javascript/javascriptNativeHandoff.ts index 646fbc0d7..4ea721566 100644 --- a/src/domain/javascriptNativeHandoff.ts +++ b/src/domain/javascript/javascriptNativeHandoff.ts @@ -1,5 +1,5 @@ -import { compareCodePoints } from "./canonicalOrdering.js"; -import type { Evidence } from "./evidence.js"; +import { compareCodePoints } from "../canonicalOrdering.js"; +import type { Evidence } from "../evidence.js"; import { type ApplicationEdge, type ApplicationNode, diff --git a/src/domain/javascriptRecovery.test.ts b/src/domain/javascript/javascriptRecovery.test.ts similarity index 100% rename from src/domain/javascriptRecovery.test.ts rename to src/domain/javascript/javascriptRecovery.test.ts diff --git a/src/domain/javascriptRecovery.ts b/src/domain/javascript/javascriptRecovery.ts similarity index 98% rename from src/domain/javascriptRecovery.ts rename to src/domain/javascript/javascriptRecovery.ts index 759a73ac7..90c1f5df1 100644 --- a/src/domain/javascriptRecovery.ts +++ b/src/domain/javascript/javascriptRecovery.ts @@ -1,5 +1,5 @@ import { z } from "zod"; -import { digestSchema } from "./digests.js"; +import { digestSchema } from "../digests.js"; import { analyzeJavaScriptApplicationInputSchema } from "./javascriptApplicationAnalysis.js"; /** Recover derived readable modules from one explicitly selected local script. */ diff --git a/src/domain/javascriptRuntimeLoadState.ts b/src/domain/javascript/javascriptRuntimeLoadState.ts similarity index 99% rename from src/domain/javascriptRuntimeLoadState.ts rename to src/domain/javascript/javascriptRuntimeLoadState.ts index c8949061b..5c9996871 100644 --- a/src/domain/javascriptRuntimeLoadState.ts +++ b/src/domain/javascript/javascriptRuntimeLoadState.ts @@ -1,5 +1,5 @@ import { type ApplicationNode } from "./javascriptApplicationGraph.js"; -import { uniqueSorted } from "./canonicalOrdering.js"; +import { uniqueSorted } from "../canonicalOrdering.js"; import type { ParsedStaticLayer } from "./javascriptRuntimeReconciliationParsing.js"; import type { JavaScriptRuntimeReconciliationItem, diff --git a/src/domain/javascriptRuntimeObservation.ts b/src/domain/javascript/javascriptRuntimeObservation.ts similarity index 97% rename from src/domain/javascriptRuntimeObservation.ts rename to src/domain/javascript/javascriptRuntimeObservation.ts index cbed67155..7ae9fb93d 100644 --- a/src/domain/javascriptRuntimeObservation.ts +++ b/src/domain/javascript/javascriptRuntimeObservation.ts @@ -1,7 +1,7 @@ import { z } from "zod"; -import { browserEndpointSchema } from "./browserObservation.js"; -import { prefixedDigestSchema } from "./../domain/digests.js"; +import { browserEndpointSchema } from "../browserObservation.js"; +import { prefixedDigestSchema } from "../digests.js"; const observationTextSchema = z.string().min(1); diff --git a/src/domain/javascriptRuntimeReconciliation.ts b/src/domain/javascript/javascriptRuntimeReconciliation.ts similarity index 100% rename from src/domain/javascriptRuntimeReconciliation.ts rename to src/domain/javascript/javascriptRuntimeReconciliation.ts diff --git a/src/domain/javascriptRuntimeReconciliationActive.ts b/src/domain/javascript/javascriptRuntimeReconciliationActive.ts similarity index 94% rename from src/domain/javascriptRuntimeReconciliationActive.ts rename to src/domain/javascript/javascriptRuntimeReconciliationActive.ts index 2c6fbf742..3dbd073c6 100644 --- a/src/domain/javascriptRuntimeReconciliationActive.ts +++ b/src/domain/javascript/javascriptRuntimeReconciliationActive.ts @@ -1,18 +1,18 @@ import { isAbsolute } from "node:path"; -import { canonicalDigest } from "./comparisonSemantics.js"; -import { isPathWithinRoot } from "./localPath.js"; +import { canonicalDigest } from "../comparisonSemantics.js"; +import { isPathWithinRoot } from "../localPath.js"; import { z } from "zod"; import { classifyBrowserCompleteness, type BrowserCompleteness, -} from "./browserCompleteness.js"; +} from "../browserCompleteness.js"; import { electronActiveObservationResultSchema, type ElectronActiveObservationResult, } from "./electronActiveObservation.js"; -import type { Evidence } from "./evidence.js"; +import type { Evidence } from "../evidence.js"; import type { ParsedRuntimeCapture } from "./javascriptRuntimeReconciliationParsing.js"; /** Parse active Electron Evidence as a bounded, target-only runtime capture. */ diff --git a/src/domain/javascriptRuntimeReconciliationGraph.ts b/src/domain/javascript/javascriptRuntimeReconciliationGraph.ts similarity index 99% rename from src/domain/javascriptRuntimeReconciliationGraph.ts rename to src/domain/javascript/javascriptRuntimeReconciliationGraph.ts index 65b3d0bf6..32f16469d 100644 --- a/src/domain/javascriptRuntimeReconciliationGraph.ts +++ b/src/domain/javascript/javascriptRuntimeReconciliationGraph.ts @@ -9,7 +9,7 @@ import type { ParsedRuntimeCapture, ParsedStaticLayer, } from "./javascriptRuntimeReconciliationParsing.js"; -import { compareCodePoints, uniqueSorted } from "./canonicalOrdering.js"; +import { compareCodePoints, uniqueSorted } from "../canonicalOrdering.js"; import type { RuntimeProjection } from "./javascriptRuntimeReconciliationRuntime.js"; interface ReconciledGraphInput { diff --git a/src/domain/javascriptRuntimeReconciliationMatching.ts b/src/domain/javascript/javascriptRuntimeReconciliationMatching.ts similarity index 99% rename from src/domain/javascriptRuntimeReconciliationMatching.ts rename to src/domain/javascript/javascriptRuntimeReconciliationMatching.ts index 22b13d9a9..4bc31c1c0 100644 --- a/src/domain/javascriptRuntimeReconciliationMatching.ts +++ b/src/domain/javascript/javascriptRuntimeReconciliationMatching.ts @@ -3,9 +3,9 @@ import { type ApplicationEdge, type ApplicationGraphEvidence, } from "./javascriptApplicationGraph.js"; -import { canonicalDigest } from "./comparisonSemantics.js"; +import { canonicalDigest } from "../comparisonSemantics.js"; import type { ParsedStaticLayer } from "./javascriptRuntimeReconciliationParsing.js"; -import { compareCodePoints } from "./canonicalOrdering.js"; +import { compareCodePoints } from "../canonicalOrdering.js"; import type { JavaScriptRuntimeReconciliationItem } from "./javascriptRuntimeReconciliationSchemas.js"; import type { RuntimeReconciliationEntity } from "./javascriptRuntimeReconciliationRuntime.js"; import { diff --git a/src/domain/javascriptRuntimeReconciliationParsing.ts b/src/domain/javascript/javascriptRuntimeReconciliationParsing.ts similarity index 98% rename from src/domain/javascriptRuntimeReconciliationParsing.ts rename to src/domain/javascript/javascriptRuntimeReconciliationParsing.ts index 3fc8f074b..0d9b64657 100644 --- a/src/domain/javascriptRuntimeReconciliationParsing.ts +++ b/src/domain/javascript/javascriptRuntimeReconciliationParsing.ts @@ -5,11 +5,11 @@ import { browserEndpointSchema, webPageInspectionSchema, type WebPageInspection, -} from "./browserObservation.js"; +} from "../browserObservation.js"; import { classifyBrowserCompleteness, type BrowserCompleteness, -} from "./browserCompleteness.js"; +} from "../browserCompleteness.js"; import { electronPageInspectionSchema, type ElectronPageInspection, @@ -20,9 +20,9 @@ import { type JavaScriptRuntimeObservation, type JavaScriptRuntimeLocation, } from "./javascriptRuntimeObservation.js"; -import { canonicalDigest } from "./comparisonSemantics.js"; -import { compareCodePoints } from "./canonicalOrdering.js"; -import { parseEvidence, type Evidence } from "./evidence.js"; +import { canonicalDigest } from "../comparisonSemantics.js"; +import { compareCodePoints } from "../canonicalOrdering.js"; +import { parseEvidence, type Evidence } from "../evidence.js"; import { javascriptApplicationAnalysisResultSchema, type JavaScriptApplicationAnalysisResult, diff --git a/src/domain/javascriptRuntimeReconciliationResult.ts b/src/domain/javascript/javascriptRuntimeReconciliationResult.ts similarity index 98% rename from src/domain/javascriptRuntimeReconciliationResult.ts rename to src/domain/javascript/javascriptRuntimeReconciliationResult.ts index 483224873..e39166d81 100644 --- a/src/domain/javascriptRuntimeReconciliationResult.ts +++ b/src/domain/javascript/javascriptRuntimeReconciliationResult.ts @@ -1,6 +1,6 @@ import { type JavaScriptApplicationGraph } from "./javascriptApplicationGraph.js"; -import { canonicalDigest } from "./comparisonSemantics.js"; -import { uniqueSorted } from "./canonicalOrdering.js"; +import { canonicalDigest } from "../comparisonSemantics.js"; +import { uniqueSorted } from "../canonicalOrdering.js"; import type { StaticLoadStateProjection } from "./javascriptRuntimeLoadState.js"; import type { RuntimeMatchingProjection } from "./javascriptRuntimeReconciliationMatching.js"; import type { diff --git a/src/domain/javascriptRuntimeReconciliationRuntime.ts b/src/domain/javascript/javascriptRuntimeReconciliationRuntime.ts similarity index 99% rename from src/domain/javascriptRuntimeReconciliationRuntime.ts rename to src/domain/javascript/javascriptRuntimeReconciliationRuntime.ts index 7c220ca79..64b7b5cb1 100644 --- a/src/domain/javascriptRuntimeReconciliationRuntime.ts +++ b/src/domain/javascript/javascriptRuntimeReconciliationRuntime.ts @@ -1,4 +1,4 @@ -import type { JsonValue } from "./jsonValue.js"; +import type { JsonValue } from "../jsonValue.js"; import { createJavaScriptApplicationEdge, createJavaScriptApplicationNode, diff --git a/src/domain/javascriptRuntimeReconciliationSchemas.ts b/src/domain/javascript/javascriptRuntimeReconciliationSchemas.ts similarity index 97% rename from src/domain/javascriptRuntimeReconciliationSchemas.ts rename to src/domain/javascript/javascriptRuntimeReconciliationSchemas.ts index 454fc7c51..38f606b4d 100644 --- a/src/domain/javascriptRuntimeReconciliationSchemas.ts +++ b/src/domain/javascript/javascriptRuntimeReconciliationSchemas.ts @@ -1,11 +1,11 @@ import { z } from "zod"; -import { compareCodePoints } from "./canonicalOrdering.js"; -import { evidenceSchema } from "./evidence.js"; +import { compareCodePoints } from "../canonicalOrdering.js"; +import { evidenceSchema } from "../evidence.js"; import { javascriptRuntimeUnresolvedLocationSchema } from "./javascriptRuntimeObservation.js"; import { javascriptApplicationGraphSchema } from "./javascriptApplicationGraph.js"; -import { digestSchema } from "./../domain/digests.js"; -import { prefixedDigestSchema } from "./../domain/digests.js"; +import { digestSchema } from "../digests.js"; +import { prefixedDigestSchema } from "../digests.js"; const evidenceIdSchema = prefixedDigestSchema("ev"); const nodeIdSchema = prefixedDigestSchema("jag_node"); diff --git a/src/domain/javascriptRuntimeStaticCandidates.ts b/src/domain/javascript/javascriptRuntimeStaticCandidates.ts similarity index 99% rename from src/domain/javascriptRuntimeStaticCandidates.ts rename to src/domain/javascript/javascriptRuntimeStaticCandidates.ts index 6f72a6610..cca3c2d77 100644 --- a/src/domain/javascriptRuntimeStaticCandidates.ts +++ b/src/domain/javascript/javascriptRuntimeStaticCandidates.ts @@ -4,7 +4,7 @@ import { type ApplicationNode, type JavaScriptApplicationGraph, } from "./javascriptApplicationGraph.js"; -import { compareCodePoints, uniqueSorted } from "./canonicalOrdering.js"; +import { compareCodePoints, uniqueSorted } from "../canonicalOrdering.js"; import type { ParsedStaticLayer } from "./javascriptRuntimeReconciliationParsing.js"; import type { RuntimeReconciliationEntity } from "./javascriptRuntimeReconciliationRuntime.js"; diff --git a/src/domain/javascriptSemanticAnalysis.builtin_defaults.test.ts b/src/domain/javascript/javascriptSemanticAnalysis.builtin_defaults.test.ts similarity index 100% rename from src/domain/javascriptSemanticAnalysis.builtin_defaults.test.ts rename to src/domain/javascript/javascriptSemanticAnalysis.builtin_defaults.test.ts diff --git a/src/domain/javascriptSemanticAnalysis.calls.test.ts b/src/domain/javascript/javascriptSemanticAnalysis.calls.test.ts similarity index 100% rename from src/domain/javascriptSemanticAnalysis.calls.test.ts rename to src/domain/javascript/javascriptSemanticAnalysis.calls.test.ts diff --git a/src/domain/javascriptSemanticAnalysis.dataflow.test.ts b/src/domain/javascript/javascriptSemanticAnalysis.dataflow.test.ts similarity index 100% rename from src/domain/javascriptSemanticAnalysis.dataflow.test.ts rename to src/domain/javascript/javascriptSemanticAnalysis.dataflow.test.ts diff --git a/src/domain/javascriptSemanticAnalysis.empty_keys.test.ts b/src/domain/javascript/javascriptSemanticAnalysis.empty_keys.test.ts similarity index 100% rename from src/domain/javascriptSemanticAnalysis.empty_keys.test.ts rename to src/domain/javascript/javascriptSemanticAnalysis.empty_keys.test.ts diff --git a/src/domain/javascriptSemanticAnalysis.fixture.ts b/src/domain/javascript/javascriptSemanticAnalysis.fixture.ts similarity index 100% rename from src/domain/javascriptSemanticAnalysis.fixture.ts rename to src/domain/javascript/javascriptSemanticAnalysis.fixture.ts diff --git a/src/domain/javascriptSemanticAnalysis.function_names.test.ts b/src/domain/javascript/javascriptSemanticAnalysis.function_names.test.ts similarity index 100% rename from src/domain/javascriptSemanticAnalysis.function_names.test.ts rename to src/domain/javascript/javascriptSemanticAnalysis.function_names.test.ts diff --git a/src/domain/javascriptSemanticAnalysis.member_mutations.test.ts b/src/domain/javascript/javascriptSemanticAnalysis.member_mutations.test.ts similarity index 100% rename from src/domain/javascriptSemanticAnalysis.member_mutations.test.ts rename to src/domain/javascript/javascriptSemanticAnalysis.member_mutations.test.ts diff --git a/src/domain/javascriptSemanticAnalysis.native_bindings.test.ts b/src/domain/javascript/javascriptSemanticAnalysis.native_bindings.test.ts similarity index 100% rename from src/domain/javascriptSemanticAnalysis.native_bindings.test.ts rename to src/domain/javascript/javascriptSemanticAnalysis.native_bindings.test.ts diff --git a/src/domain/javascriptSemanticAnalysis.promise_ownership.test.ts b/src/domain/javascript/javascriptSemanticAnalysis.promise_ownership.test.ts similarity index 100% rename from src/domain/javascriptSemanticAnalysis.promise_ownership.test.ts rename to src/domain/javascript/javascriptSemanticAnalysis.promise_ownership.test.ts diff --git a/src/domain/javascriptSemanticAnalysis.rejection.test.ts b/src/domain/javascript/javascriptSemanticAnalysis.rejection.test.ts similarity index 100% rename from src/domain/javascriptSemanticAnalysis.rejection.test.ts rename to src/domain/javascript/javascriptSemanticAnalysis.rejection.test.ts diff --git a/src/domain/javascriptSemanticAnalysis.runtime_boundaries.test.ts b/src/domain/javascript/javascriptSemanticAnalysis.runtime_boundaries.test.ts similarity index 100% rename from src/domain/javascriptSemanticAnalysis.runtime_boundaries.test.ts rename to src/domain/javascript/javascriptSemanticAnalysis.runtime_boundaries.test.ts diff --git a/src/domain/javascriptSemanticAnalysis.structure.test.ts b/src/domain/javascript/javascriptSemanticAnalysis.structure.test.ts similarity index 100% rename from src/domain/javascriptSemanticAnalysis.structure.test.ts rename to src/domain/javascript/javascriptSemanticAnalysis.structure.test.ts diff --git a/src/domain/javascriptSemanticAnalysis.ts b/src/domain/javascript/javascriptSemanticAnalysis.ts similarity index 100% rename from src/domain/javascriptSemanticAnalysis.ts rename to src/domain/javascript/javascriptSemanticAnalysis.ts diff --git a/src/domain/javascriptSemanticAnalysis.unions.test.ts b/src/domain/javascript/javascriptSemanticAnalysis.unions.test.ts similarity index 100% rename from src/domain/javascriptSemanticAnalysis.unions.test.ts rename to src/domain/javascript/javascriptSemanticAnalysis.unions.test.ts diff --git a/src/domain/javascriptSemanticAsyncEffects.ts b/src/domain/javascript/javascriptSemanticAsyncEffects.ts similarity index 100% rename from src/domain/javascriptSemanticAsyncEffects.ts rename to src/domain/javascript/javascriptSemanticAsyncEffects.ts diff --git a/src/domain/javascriptSemanticCallResolution.ts b/src/domain/javascript/javascriptSemanticCallResolution.ts similarity index 99% rename from src/domain/javascriptSemanticCallResolution.ts rename to src/domain/javascript/javascriptSemanticCallResolution.ts index 4ffcc48e0..26b270ab1 100644 --- a/src/domain/javascriptSemanticCallResolution.ts +++ b/src/domain/javascript/javascriptSemanticCallResolution.ts @@ -4,7 +4,7 @@ import type { JavaScriptSemanticArgumentFlow, JavaScriptSemanticCallable, } from "./javascriptSemanticIr.js"; -import { compareCodePoints } from "./canonicalOrdering.js"; +import { compareCodePoints } from "../canonicalOrdering.js"; import { semanticCallableIdForNode } from "./javascriptSemanticProjection.js"; import { resolveSemanticBindingState, diff --git a/src/domain/javascriptSemanticCalls.ts b/src/domain/javascript/javascriptSemanticCalls.ts similarity index 100% rename from src/domain/javascriptSemanticCalls.ts rename to src/domain/javascript/javascriptSemanticCalls.ts diff --git a/src/domain/javascriptSemanticChildProcesses.ts b/src/domain/javascript/javascriptSemanticChildProcesses.ts similarity index 99% rename from src/domain/javascriptSemanticChildProcesses.ts rename to src/domain/javascript/javascriptSemanticChildProcesses.ts index cdc127b1a..d470c55c7 100644 --- a/src/domain/javascriptSemanticChildProcesses.ts +++ b/src/domain/javascript/javascriptSemanticChildProcesses.ts @@ -16,7 +16,7 @@ import { type JavaScriptSemanticAnalysisState, type JavaScriptSemanticBindingState, } from "./javascriptSemanticState.js"; -import { compareCodePoints } from "./canonicalOrdering.js"; +import { compareCodePoints } from "../canonicalOrdering.js"; import { traverseJavaScriptAst } from "./javascriptSemanticTraversal.js"; import { range } from "./javascriptStaticAnalysisHelpers.js"; import { diff --git a/src/domain/javascriptSemanticCoverage.ts b/src/domain/javascript/javascriptSemanticCoverage.ts similarity index 100% rename from src/domain/javascriptSemanticCoverage.ts rename to src/domain/javascript/javascriptSemanticCoverage.ts diff --git a/src/domain/javascriptSemanticDataEffectHelpers.ts b/src/domain/javascript/javascriptSemanticDataEffectHelpers.ts similarity index 100% rename from src/domain/javascriptSemanticDataEffectHelpers.ts rename to src/domain/javascript/javascriptSemanticDataEffectHelpers.ts diff --git a/src/domain/javascriptSemanticDataEffects.ts b/src/domain/javascript/javascriptSemanticDataEffects.ts similarity index 99% rename from src/domain/javascriptSemanticDataEffects.ts rename to src/domain/javascript/javascriptSemanticDataEffects.ts index e3874fd52..6dad44bf0 100644 --- a/src/domain/javascriptSemanticDataEffects.ts +++ b/src/domain/javascript/javascriptSemanticDataEffects.ts @@ -8,7 +8,7 @@ import type { JavaScriptSemanticConfigurationOperation, JavaScriptSemanticRequestOperation, } from "./javascriptSemanticIr.js"; -import { compareCodePoints } from "./canonicalOrdering.js"; +import { compareCodePoints } from "../canonicalOrdering.js"; import { semanticStaticPropertyKey, semanticStaticPropertyName, diff --git a/src/domain/javascriptSemanticDerivedAnalysis.ts b/src/domain/javascript/javascriptSemanticDerivedAnalysis.ts similarity index 100% rename from src/domain/javascriptSemanticDerivedAnalysis.ts rename to src/domain/javascript/javascriptSemanticDerivedAnalysis.ts diff --git a/src/domain/javascriptSemanticFingerprints.ts b/src/domain/javascript/javascriptSemanticFingerprints.ts similarity index 99% rename from src/domain/javascriptSemanticFingerprints.ts rename to src/domain/javascript/javascriptSemanticFingerprints.ts index e630bbe5f..260f8bd9c 100644 --- a/src/domain/javascriptSemanticFingerprints.ts +++ b/src/domain/javascript/javascriptSemanticFingerprints.ts @@ -2,7 +2,7 @@ import { createHash } from "node:crypto"; import * as t from "@babel/types"; -import { compareCodePoints } from "./canonicalOrdering.js"; +import { compareCodePoints } from "../canonicalOrdering.js"; import type { JavaScriptSemanticCallAnalysis } from "./javascriptSemanticCalls.js"; import type { JavaScriptSemanticCallable, diff --git a/src/domain/javascriptSemanticGraph.ts b/src/domain/javascript/javascriptSemanticGraph.ts similarity index 99% rename from src/domain/javascriptSemanticGraph.ts rename to src/domain/javascript/javascriptSemanticGraph.ts index 510ffe008..a7af45a99 100644 --- a/src/domain/javascriptSemanticGraph.ts +++ b/src/domain/javascript/javascriptSemanticGraph.ts @@ -1,7 +1,7 @@ import { z } from "zod"; -import { canonicalDigest, canonicalJson } from "./comparisonSemantics.js"; -import { compareCodePoints, uniqueSorted } from "./canonicalOrdering.js"; +import { canonicalDigest, canonicalJson } from "../comparisonSemantics.js"; +import { compareCodePoints, uniqueSorted } from "../canonicalOrdering.js"; import type { ApplicationGraphEvidence } from "./javascriptApplicationEvidenceSchemas.js"; import { JAVASCRIPT_SEMANTIC_RELATION_FAMILIES, diff --git a/src/domain/javascriptSemanticGraphQuery.test.ts b/src/domain/javascript/javascriptSemanticGraphQuery.test.ts similarity index 100% rename from src/domain/javascriptSemanticGraphQuery.test.ts rename to src/domain/javascript/javascriptSemanticGraphQuery.test.ts diff --git a/src/domain/javascriptSemanticGraphSchemas.ts b/src/domain/javascript/javascriptSemanticGraphSchemas.ts similarity index 98% rename from src/domain/javascriptSemanticGraphSchemas.ts rename to src/domain/javascript/javascriptSemanticGraphSchemas.ts index 9ecd62a3c..945bc05de 100644 --- a/src/domain/javascriptSemanticGraphSchemas.ts +++ b/src/domain/javascript/javascriptSemanticGraphSchemas.ts @@ -1,9 +1,9 @@ import { z } from "zod"; import { applicationGraphEvidenceSchema } from "./javascriptApplicationEvidenceSchemas.js"; -import { jsonValueSchema } from "./jsonValue.js"; -import { digestSchema } from "./../domain/digests.js"; -import { prefixedDigestSchema } from "./../domain/digests.js"; +import { jsonValueSchema } from "../jsonValue.js"; +import { digestSchema } from "../digests.js"; +import { prefixedDigestSchema } from "../digests.js"; const boundedTextSchema = z.string().min(1); const semanticNodeIdSchema = prefixedDigestSchema("jsrg_node"); diff --git a/src/domain/javascriptSemanticGraphSerialization.ts b/src/domain/javascript/javascriptSemanticGraphSerialization.ts similarity index 100% rename from src/domain/javascriptSemanticGraphSerialization.ts rename to src/domain/javascript/javascriptSemanticGraphSerialization.ts diff --git a/src/domain/javascriptSemanticGraphTraversal.test.ts b/src/domain/javascript/javascriptSemanticGraphTraversal.test.ts similarity index 99% rename from src/domain/javascriptSemanticGraphTraversal.test.ts rename to src/domain/javascript/javascriptSemanticGraphTraversal.test.ts index d782dc61d..be9e57675 100644 --- a/src/domain/javascriptSemanticGraphTraversal.test.ts +++ b/src/domain/javascript/javascriptSemanticGraphTraversal.test.ts @@ -17,7 +17,7 @@ import { type JavaScriptSemanticGraphRelation, } from "./javascriptSemanticGraph.js"; import { queryJavaScriptSemanticGraph } from "./javascriptSemanticQuery.js"; -import type { JsonValue } from "./jsonValue.js"; +import type { JsonValue } from "../jsonValue.js"; const SHA = "a".repeat(64); const JAG_ID = `jag_${"b".repeat(64)}`; diff --git a/src/domain/javascriptSemanticIr.ts b/src/domain/javascript/javascriptSemanticIr.ts similarity index 100% rename from src/domain/javascriptSemanticIr.ts rename to src/domain/javascript/javascriptSemanticIr.ts diff --git a/src/domain/javascriptSemanticMemberMutations.ts b/src/domain/javascript/javascriptSemanticMemberMutations.ts similarity index 100% rename from src/domain/javascriptSemanticMemberMutations.ts rename to src/domain/javascript/javascriptSemanticMemberMutations.ts diff --git a/src/domain/javascriptSemanticMutationValues.ts b/src/domain/javascript/javascriptSemanticMutationValues.ts similarity index 100% rename from src/domain/javascriptSemanticMutationValues.ts rename to src/domain/javascript/javascriptSemanticMutationValues.ts diff --git a/src/domain/javascriptSemanticObjects.ts b/src/domain/javascript/javascriptSemanticObjects.ts similarity index 100% rename from src/domain/javascriptSemanticObjects.ts rename to src/domain/javascript/javascriptSemanticObjects.ts diff --git a/src/domain/javascriptSemanticPrimitives.ts b/src/domain/javascript/javascriptSemanticPrimitives.ts similarity index 96% rename from src/domain/javascriptSemanticPrimitives.ts rename to src/domain/javascript/javascriptSemanticPrimitives.ts index caaad0e5c..9015ec234 100644 --- a/src/domain/javascriptSemanticPrimitives.ts +++ b/src/domain/javascript/javascriptSemanticPrimitives.ts @@ -4,7 +4,7 @@ import type { JavaScriptSemanticPrimitive, JavaScriptSemanticValue, } from "./javascriptSemanticIr.js"; -import { compareCodePoints } from "./canonicalOrdering.js"; +import { compareCodePoints } from "../canonicalOrdering.js"; import { semanticPrimitiveKey } from "./javascriptSemanticProvenance.js"; /** Normalize one bounded collection of possible primitive values. */ diff --git a/src/domain/javascriptSemanticProjection.ts b/src/domain/javascript/javascriptSemanticProjection.ts similarity index 99% rename from src/domain/javascriptSemanticProjection.ts rename to src/domain/javascript/javascriptSemanticProjection.ts index 4db6d9bf8..7df1464b6 100644 --- a/src/domain/javascriptSemanticProjection.ts +++ b/src/domain/javascript/javascriptSemanticProjection.ts @@ -14,7 +14,7 @@ import { type JavaScriptSemanticAnalysisState, type JavaScriptSemanticScopeState, } from "./javascriptSemanticState.js"; -import { compareCodePoints } from "./canonicalOrdering.js"; +import { compareCodePoints } from "../canonicalOrdering.js"; import { traverseJavaScriptAst } from "./javascriptSemanticTraversal.js"; import { evaluateSemanticBinding, diff --git a/src/domain/javascriptSemanticPromises.ts b/src/domain/javascript/javascriptSemanticPromises.ts similarity index 99% rename from src/domain/javascriptSemanticPromises.ts rename to src/domain/javascript/javascriptSemanticPromises.ts index 3c99e90d5..873d3491e 100644 --- a/src/domain/javascriptSemanticPromises.ts +++ b/src/domain/javascript/javascriptSemanticPromises.ts @@ -13,7 +13,7 @@ import { semanticResolutionBlocked, type JavaScriptSemanticAnalysisState, } from "./javascriptSemanticState.js"; -import { compareCodePoints } from "./canonicalOrdering.js"; +import { compareCodePoints } from "../canonicalOrdering.js"; import { traverseJavaScriptAst } from "./javascriptSemanticTraversal.js"; import { range, sourceRangesEqual } from "./javascriptStaticAnalysisHelpers.js"; import { diff --git a/src/domain/javascriptSemanticProvenance.ts b/src/domain/javascript/javascriptSemanticProvenance.ts similarity index 97% rename from src/domain/javascriptSemanticProvenance.ts rename to src/domain/javascript/javascriptSemanticProvenance.ts index 824c76414..0639c0262 100644 --- a/src/domain/javascriptSemanticProvenance.ts +++ b/src/domain/javascript/javascriptSemanticProvenance.ts @@ -3,7 +3,7 @@ import type { JavaScriptModuleOrigin, JavaScriptSemanticPrimitive, } from "./javascriptSemanticIr.js"; -import { compareCodePoints } from "./canonicalOrdering.js"; +import { compareCodePoints } from "../canonicalOrdering.js"; /** Construct exact local provenance without inventing module origins. */ export const semanticLocalProvenance = (): JavaScriptBindingProvenance => ({ diff --git a/src/domain/javascriptSemanticQuery.ts b/src/domain/javascript/javascriptSemanticQuery.ts similarity index 99% rename from src/domain/javascriptSemanticQuery.ts rename to src/domain/javascript/javascriptSemanticQuery.ts index d77b10d3a..8f4ea146e 100644 --- a/src/domain/javascriptSemanticQuery.ts +++ b/src/domain/javascript/javascriptSemanticQuery.ts @@ -3,7 +3,7 @@ import type { JavaScriptSemanticGraphNode, JavaScriptSemanticGraphRelation, } from "./javascriptSemanticGraph.js"; -import { compareCodePoints } from "./canonicalOrdering.js"; +import { compareCodePoints } from "../canonicalOrdering.js"; import type { JavaScriptSemanticGraphUnknown } from "./javascriptSemanticGraphSchemas.js"; import { isJavaScriptSemanticOwnershipRelation as ownershipRelation } from "./javascriptSemanticQueryRelations.js"; import { diff --git a/src/domain/javascriptSemanticQueryAssessment.ts b/src/domain/javascript/javascriptSemanticQueryAssessment.ts similarity index 98% rename from src/domain/javascriptSemanticQueryAssessment.ts rename to src/domain/javascript/javascriptSemanticQueryAssessment.ts index db9499ecb..001f38f95 100644 --- a/src/domain/javascriptSemanticQueryAssessment.ts +++ b/src/domain/javascript/javascriptSemanticQueryAssessment.ts @@ -1,4 +1,4 @@ -import { uniqueSorted } from "./canonicalOrdering.js"; +import { uniqueSorted } from "../canonicalOrdering.js"; import type { JavaScriptSemanticGraph } from "./javascriptSemanticGraph.js"; import type { JavaScriptSemanticGraphUnknown } from "./javascriptSemanticGraphSchemas.js"; import type { JavaScriptSemanticQueryResult } from "./javascriptSemanticQuerySchemas.js"; diff --git a/src/domain/javascriptSemanticQueryIdentity.ts b/src/domain/javascript/javascriptSemanticQueryIdentity.ts similarity index 97% rename from src/domain/javascriptSemanticQueryIdentity.ts rename to src/domain/javascript/javascriptSemanticQueryIdentity.ts index 92ec930d7..d28ca8491 100644 --- a/src/domain/javascriptSemanticQueryIdentity.ts +++ b/src/domain/javascript/javascriptSemanticQueryIdentity.ts @@ -6,7 +6,7 @@ import type { JavaScriptSemanticGraph, JavaScriptSemanticGraphNode, } from "./javascriptSemanticGraph.js"; -import { compareCodePoints, uniqueSorted } from "./canonicalOrdering.js"; +import { compareCodePoints, uniqueSorted } from "../canonicalOrdering.js"; import type { JavaScriptSemanticQueryInput } from "./javascriptSemanticQuerySchemas.js"; /** Canonical JSON used by semantic query commitments and ordering. */ diff --git a/src/domain/javascriptSemanticQueryRelations.ts b/src/domain/javascript/javascriptSemanticQueryRelations.ts similarity index 100% rename from src/domain/javascriptSemanticQueryRelations.ts rename to src/domain/javascript/javascriptSemanticQueryRelations.ts diff --git a/src/domain/javascriptSemanticQuerySchemas.test.ts b/src/domain/javascript/javascriptSemanticQuerySchemas.test.ts similarity index 100% rename from src/domain/javascriptSemanticQuerySchemas.test.ts rename to src/domain/javascript/javascriptSemanticQuerySchemas.test.ts diff --git a/src/domain/javascriptSemanticQuerySchemas.ts b/src/domain/javascript/javascriptSemanticQuerySchemas.ts similarity index 95% rename from src/domain/javascriptSemanticQuerySchemas.ts rename to src/domain/javascript/javascriptSemanticQuerySchemas.ts index b6fe13607..0e9faf4f6 100644 --- a/src/domain/javascriptSemanticQuerySchemas.ts +++ b/src/domain/javascript/javascriptSemanticQuerySchemas.ts @@ -7,9 +7,9 @@ import { javaScriptSemanticRelationSchema, javaScriptSemanticUnknownSchema, } from "./javascriptSemanticGraphSchemas.js"; -import { jsonValueSchema } from "./jsonValue.js"; -import { digestSchema } from "./../domain/digests.js"; -import { prefixedDigestSchema } from "./../domain/digests.js"; +import { jsonValueSchema } from "../jsonValue.js"; +import { digestSchema } from "../digests.js"; +import { prefixedDigestSchema } from "../digests.js"; const semanticNodeIdSchema = prefixedDigestSchema("jsrg_node"); const literalSeedSchema = z.strictObject({ diff --git a/src/domain/javascriptSemanticResources.ts b/src/domain/javascript/javascriptSemanticResources.ts similarity index 100% rename from src/domain/javascriptSemanticResources.ts rename to src/domain/javascript/javascriptSemanticResources.ts diff --git a/src/domain/javascriptSemanticReturns.ts b/src/domain/javascript/javascriptSemanticReturns.ts similarity index 99% rename from src/domain/javascriptSemanticReturns.ts rename to src/domain/javascript/javascriptSemanticReturns.ts index c24e0f67c..0e63527ca 100644 --- a/src/domain/javascriptSemanticReturns.ts +++ b/src/domain/javascript/javascriptSemanticReturns.ts @@ -10,7 +10,7 @@ import type { ProjectedPropertyCoverage, ProjectedReturnField, } from "./javascriptExportShapeComparisonSchemas.js"; -import { compareCodePoints } from "./canonicalOrdering.js"; +import { compareCodePoints } from "../canonicalOrdering.js"; import { semanticCallableIdForNode } from "./javascriptSemanticProjection.js"; import { resolveSemanticBindingState, diff --git a/src/domain/javascriptSemanticState.ts b/src/domain/javascript/javascriptSemanticState.ts similarity index 100% rename from src/domain/javascriptSemanticState.ts rename to src/domain/javascript/javascriptSemanticState.ts diff --git a/src/domain/javascriptSemanticTraceSchemas.ts b/src/domain/javascript/javascriptSemanticTraceSchemas.ts similarity index 88% rename from src/domain/javascriptSemanticTraceSchemas.ts rename to src/domain/javascript/javascriptSemanticTraceSchemas.ts index 147c7362b..aecfbe3bc 100644 --- a/src/domain/javascriptSemanticTraceSchemas.ts +++ b/src/domain/javascript/javascriptSemanticTraceSchemas.ts @@ -1,11 +1,11 @@ import { z } from "zod"; -import { evidenceSchema } from "./evidence.js"; +import { evidenceSchema } from "../evidence.js"; import { javaScriptSemanticQueryInputSchema, javaScriptSemanticQueryResultSchema, } from "./javascriptSemanticQuerySchemas.js"; -import { prefixedDigestSchema } from "./../domain/digests.js"; +import { prefixedDigestSchema } from "../digests.js"; const evidenceIdSchema = prefixedDigestSchema("ev"); diff --git a/src/domain/javascriptSemanticTraversal.ts b/src/domain/javascript/javascriptSemanticTraversal.ts similarity index 100% rename from src/domain/javascriptSemanticTraversal.ts rename to src/domain/javascript/javascriptSemanticTraversal.ts diff --git a/src/domain/javascriptSemanticValueTypes.ts b/src/domain/javascript/javascriptSemanticValueTypes.ts similarity index 100% rename from src/domain/javascriptSemanticValueTypes.ts rename to src/domain/javascript/javascriptSemanticValueTypes.ts diff --git a/src/domain/javascriptSemanticValues.ts b/src/domain/javascript/javascriptSemanticValues.ts similarity index 99% rename from src/domain/javascriptSemanticValues.ts rename to src/domain/javascript/javascriptSemanticValues.ts index 655c41ba7..8a55b74d4 100644 --- a/src/domain/javascriptSemanticValues.ts +++ b/src/domain/javascript/javascriptSemanticValues.ts @@ -15,7 +15,7 @@ import { type JavaScriptSemanticBindingState, } from "./javascriptSemanticState.js"; import { stringValue } from "./javascriptStaticAnalysisHelpers.js"; -import { compareCodePoints } from "./canonicalOrdering.js"; +import { compareCodePoints } from "../canonicalOrdering.js"; import { semanticStaticPropertyKey } from "./javascriptAstValues.js"; import { semanticAmbiguousProvenance, diff --git a/src/domain/javascriptSourceParser.ts b/src/domain/javascript/javascriptSourceParser.ts similarity index 100% rename from src/domain/javascriptSourceParser.ts rename to src/domain/javascript/javascriptSourceParser.ts diff --git a/src/domain/javascriptStaticAnalysis.no_finding_caps.test.ts b/src/domain/javascript/javascriptStaticAnalysis.no_finding_caps.test.ts similarity index 100% rename from src/domain/javascriptStaticAnalysis.no_finding_caps.test.ts rename to src/domain/javascript/javascriptStaticAnalysis.no_finding_caps.test.ts diff --git a/src/domain/javascriptStaticAnalysis.ts b/src/domain/javascript/javascriptStaticAnalysis.ts similarity index 100% rename from src/domain/javascriptStaticAnalysis.ts rename to src/domain/javascript/javascriptStaticAnalysis.ts diff --git a/src/domain/javascriptStaticAnalysisBundler.ts b/src/domain/javascript/javascriptStaticAnalysisBundler.ts similarity index 99% rename from src/domain/javascriptStaticAnalysisBundler.ts rename to src/domain/javascript/javascriptStaticAnalysisBundler.ts index b63a229c3..d5fb29558 100644 --- a/src/domain/javascriptStaticAnalysisBundler.ts +++ b/src/domain/javascript/javascriptStaticAnalysisBundler.ts @@ -4,7 +4,7 @@ import { collectJavaScriptExports, fingerprintJavaScriptAst, } from "./javascriptAstFingerprint.js"; -import { compareCodePoints } from "./canonicalOrdering.js"; +import { compareCodePoints } from "../canonicalOrdering.js"; import { addFindingOnce } from "./javascriptStaticAnalysisFindings.js"; import { argumentValue, diff --git a/src/domain/javascriptStaticAnalysisCalls.ts b/src/domain/javascript/javascriptStaticAnalysisCalls.ts similarity index 99% rename from src/domain/javascriptStaticAnalysisCalls.ts rename to src/domain/javascript/javascriptStaticAnalysisCalls.ts index 4208307b1..984be0840 100644 --- a/src/domain/javascriptStaticAnalysisCalls.ts +++ b/src/domain/javascript/javascriptStaticAnalysisCalls.ts @@ -1,6 +1,6 @@ import * as t from "@babel/types"; -import { sanitizeEndpointCandidate } from "./browserObservation.js"; +import { sanitizeEndpointCandidate } from "../browserObservation.js"; import { addFindingOnce, addLocatedFinding, diff --git a/src/domain/javascriptStaticAnalysisFindings.ts b/src/domain/javascript/javascriptStaticAnalysisFindings.ts similarity index 100% rename from src/domain/javascriptStaticAnalysisFindings.ts rename to src/domain/javascript/javascriptStaticAnalysisFindings.ts diff --git a/src/domain/javascriptStaticAnalysisHelpers.ts b/src/domain/javascript/javascriptStaticAnalysisHelpers.ts similarity index 99% rename from src/domain/javascriptStaticAnalysisHelpers.ts rename to src/domain/javascript/javascriptStaticAnalysisHelpers.ts index bd9b27615..b25b0f926 100644 --- a/src/domain/javascriptStaticAnalysisHelpers.ts +++ b/src/domain/javascript/javascriptStaticAnalysisHelpers.ts @@ -12,7 +12,7 @@ import type { JavaScriptStaticStorage, } from "./javascriptStaticAnalysisTypes.js"; import { semanticStaticPropertyName } from "./javascriptAstValues.js"; -import { compareCodePoints } from "./canonicalOrdering.js"; +import { compareCodePoints } from "../canonicalOrdering.js"; export { propertyName, diff --git a/src/domain/javascriptStaticAnalysisLocations.test.ts b/src/domain/javascript/javascriptStaticAnalysisLocations.test.ts similarity index 100% rename from src/domain/javascriptStaticAnalysisLocations.test.ts rename to src/domain/javascript/javascriptStaticAnalysisLocations.test.ts diff --git a/src/domain/javascriptStaticAnalysisSourceMaps.test.ts b/src/domain/javascript/javascriptStaticAnalysisSourceMaps.test.ts similarity index 100% rename from src/domain/javascriptStaticAnalysisSourceMaps.test.ts rename to src/domain/javascript/javascriptStaticAnalysisSourceMaps.test.ts diff --git a/src/domain/javascriptStaticAnalysisState.ts b/src/domain/javascript/javascriptStaticAnalysisState.ts similarity index 100% rename from src/domain/javascriptStaticAnalysisState.ts rename to src/domain/javascript/javascriptStaticAnalysisState.ts diff --git a/src/domain/javascriptStaticAnalysisTypes.ts b/src/domain/javascript/javascriptStaticAnalysisTypes.ts similarity index 100% rename from src/domain/javascriptStaticAnalysisTypes.ts rename to src/domain/javascript/javascriptStaticAnalysisTypes.ts diff --git a/src/domain/javascriptStaticPathResolution.test.ts b/src/domain/javascript/javascriptStaticPathResolution.test.ts similarity index 100% rename from src/domain/javascriptStaticPathResolution.test.ts rename to src/domain/javascript/javascriptStaticPathResolution.test.ts diff --git a/src/domain/sourceToBundleComparison.test.ts b/src/domain/javascript/sourceToBundleComparison.test.ts similarity index 99% rename from src/domain/sourceToBundleComparison.test.ts rename to src/domain/javascript/sourceToBundleComparison.test.ts index ee5a59fd7..644af26e3 100644 --- a/src/domain/sourceToBundleComparison.test.ts +++ b/src/domain/javascript/sourceToBundleComparison.test.ts @@ -4,7 +4,7 @@ import { createJavaScriptApplicationGraph, createJavaScriptApplicationNode, } from "./javascriptApplicationGraph.js"; -import { createHistoricalSourceGraph } from "./referenceSourceGraph.js"; +import { createHistoricalSourceGraph } from "../referenceSourceGraph.js"; import { compareSourceToBundle } from "./sourceToBundleComparison.js"; import { SOURCE_TO_BUNDLE_SIGNAL_WEIGHTS, diff --git a/src/domain/sourceToBundleComparison.ts b/src/domain/javascript/sourceToBundleComparison.ts similarity index 98% rename from src/domain/sourceToBundleComparison.ts rename to src/domain/javascript/sourceToBundleComparison.ts index 076b6ad3f..4b08ba6d4 100644 --- a/src/domain/sourceToBundleComparison.ts +++ b/src/domain/javascript/sourceToBundleComparison.ts @@ -1,8 +1,8 @@ -import { compareCodePoints, uniqueSorted } from "./canonicalOrdering.js"; -import { absenceClaimable, canonicalDigest } from "./comparisonSemantics.js"; +import { compareCodePoints, uniqueSorted } from "../canonicalOrdering.js"; +import { absenceClaimable, canonicalDigest } from "../comparisonSemantics.js"; import type { JavaScriptApplicationGraph } from "./javascriptApplicationGraph.js"; -import type { HistoricalSourceGraph } from "./referenceSourceGraph.js"; +import type { HistoricalSourceGraph } from "../referenceSourceGraph.js"; import { SOURCE_TO_BUNDLE_SIGNAL_WEIGHTS, sourceToBundleComparisonResultSchema, diff --git a/src/domain/sourceToBundleComparisonSchemas.ts b/src/domain/javascript/sourceToBundleComparisonSchemas.ts similarity index 94% rename from src/domain/sourceToBundleComparisonSchemas.ts rename to src/domain/javascript/sourceToBundleComparisonSchemas.ts index 82b194cbc..2e27cadb3 100644 --- a/src/domain/sourceToBundleComparisonSchemas.ts +++ b/src/domain/javascript/sourceToBundleComparisonSchemas.ts @@ -1,10 +1,10 @@ import { z } from "zod"; -import { evidenceSchema } from "./evidence.js"; +import { evidenceSchema } from "../evidence.js"; import { JAVASCRIPT_APPLICATION_NODE_KINDS } from "./javascriptApplicationGraphSchemas.js"; -import { historicalSourceGraphSchema } from "./referenceSourceGraph.js"; -import { digestSchema } from "./../domain/digests.js"; -import { prefixedDigestSchema } from "./../domain/digests.js"; +import { historicalSourceGraphSchema } from "../referenceSourceGraph.js"; +import { digestSchema } from "../digests.js"; +import { prefixedDigestSchema } from "../digests.js"; const evidenceIdSchema = prefixedDigestSchema("ev"); const nodeIdSchema = prefixedDigestSchema("jag_node"); diff --git a/src/domain/sourceToBundleSignals.ts b/src/domain/javascript/sourceToBundleSignals.ts similarity index 98% rename from src/domain/sourceToBundleSignals.ts rename to src/domain/javascript/sourceToBundleSignals.ts index 5caac70d1..c22bb6f3d 100644 --- a/src/domain/sourceToBundleSignals.ts +++ b/src/domain/javascript/sourceToBundleSignals.ts @@ -1,14 +1,14 @@ import { posix } from "node:path"; -import { compareCodePoints } from "./canonicalOrdering.js"; +import { compareCodePoints } from "../canonicalOrdering.js"; import type { ApplicationNode } from "./javascriptApplicationGraphSchemas.js"; -import type { HistoricalSourceGraph } from "./referenceSourceGraph.js"; +import type { HistoricalSourceGraph } from "../referenceSourceGraph.js"; import { SOURCE_TO_BUNDLE_SIGNAL_WEIGHTS, type SourceToBundleCandidate, type SourceToBundleSignal, } from "./sourceToBundleComparisonSchemas.js"; -import { isDigest } from "./digests.js"; +import { isDigest } from "../digests.js"; type SourceFile = Extract< HistoricalSourceGraph["entries"][number], diff --git a/src/domain/managedApplicationGraph.ts b/src/domain/managedApplicationGraph.ts index f584dca63..63be9cf23 100644 --- a/src/domain/managedApplicationGraph.ts +++ b/src/domain/managedApplicationGraph.ts @@ -9,7 +9,7 @@ import { javascriptApplicationGraphSchema, type ApplicationEdge, type ApplicationNode, -} from "./javascriptApplicationGraph.js"; +} from "./javascript/javascriptApplicationGraph.js"; import { managedArtifactInspectionSchema, managedMemberInspectionSchema, diff --git a/src/domain/managedApplicationGraphCoverage.ts b/src/domain/managedApplicationGraphCoverage.ts index 683226a30..cd60391b2 100644 --- a/src/domain/managedApplicationGraphCoverage.ts +++ b/src/domain/managedApplicationGraphCoverage.ts @@ -1,4 +1,4 @@ -import type { ApplicationGraphEvidence } from "./javascriptApplicationGraph.js"; +import type { ApplicationGraphEvidence } from "./javascript/javascriptApplicationGraph.js"; import type { ManagedArtifactInspection, ManagedMemberInspection, diff --git a/src/domain/managedApplicationGraphNodes.ts b/src/domain/managedApplicationGraphNodes.ts index 99ee067e2..33062d005 100644 --- a/src/domain/managedApplicationGraphNodes.ts +++ b/src/domain/managedApplicationGraphNodes.ts @@ -4,7 +4,7 @@ import { createJavaScriptApplicationNode, type ApplicationGraphEvidence, type ApplicationNode, -} from "./javascriptApplicationGraph.js"; +} from "./javascript/javascriptApplicationGraph.js"; import { managedSourceCoverage } from "./managedApplicationGraphCoverage.js"; import { type ManagedMemberInspection, diff --git a/src/domain/nativeInvestigationGraph.ts b/src/domain/nativeInvestigationGraph.ts index 200caed6a..e9c317e37 100644 --- a/src/domain/nativeInvestigationGraph.ts +++ b/src/domain/nativeInvestigationGraph.ts @@ -204,16 +204,20 @@ export const traceNativeInvestigationGraph = ( let reachedDepth = 0; let truncated = false; let reason: string | null = null; + const adjacency = new Map(); + for (const edge of graph.edges) { + const nodeId = direction === "forward" ? edge.from : edge.to; + if (nodeId === null) continue; + const entries = adjacency.get(nodeId); + if (entries === undefined) adjacency.set(nodeId, [edge]); + else entries.push(edge); + } while (queue.length > 0) { const current = queue.shift(); if (current === undefined) break; reachedDepth = Math.max(reachedDepth, current.depth); - const adjacent = graph.edges.filter((edge) => - direction === "forward" - ? edge.from === current.id - : edge.to === current.id, - ); + const adjacent = adjacency.get(current.id) ?? []; for (const edge of adjacent) { if (selectedEdges.size + unresolved.size >= limits.max_edges) { diff --git a/src/domain/propertyListKeys.test.ts b/src/domain/propertyListKeys.test.ts index e54e57472..e15fcb27e 100644 --- a/src/domain/propertyListKeys.test.ts +++ b/src/domain/propertyListKeys.test.ts @@ -39,6 +39,26 @@ it("keeps __proto__ text in strings, comments, and similar keys", () => { }); }); +it("keeps an entity-encoded key that decodes to the placeholder", () => { + const text = plist( + "__rea_prototype_key__kept__proto__x", + ); + expect(parseXmlPropertyList(text)).toEqual({ + value: { __rea_prototype_key__: "kept" }, + omittedPrototypeKeys: 1, + }); +}); + +it("keeps entity-like text beyond Unicode in comments and CDATA", () => { + const text = plist( + "raw__proto__x", + ); + expect(parseXmlPropertyList(text)).toEqual({ + value: { raw: "�" }, + omittedPrototypeKeys: 1, + }); +}); + it("omits own __proto__ entries that JSON decoding creates", () => { const decoded: unknown = JSON.parse( '{"__proto__":{"x":1},"a":[{"__proto__":2,"b":3}]}', diff --git a/src/domain/propertyListKeys.ts b/src/domain/propertyListKeys.ts index bd09fd44b..0007e1e5e 100644 --- a/src/domain/propertyListKeys.ts +++ b/src/domain/propertyListKeys.ts @@ -56,13 +56,23 @@ const XML_ENTITIES: Readonly> = { quot: '"', }; +/** + * Expand XML character and predefined entity references. A reference beyond + * Unicode stays as written: comments and CDATA may hold such text literally, + * and the XML decoder rejects it anywhere else. + */ const decodeXmlText = (text: string): string => text.replace( /&(?:#x([\da-f]+)|#(\d+)|([a-z]+));/giu, (entity, hex?: string, decimal?: string, name?: string) => { - if (hex !== undefined) return String.fromCodePoint(parseInt(hex, 16)); - if (decimal !== undefined) - return String.fromCodePoint(parseInt(decimal, 10)); + const codePoint = + hex !== undefined + ? parseInt(hex, 16) + : decimal !== undefined + ? parseInt(decimal, 10) + : undefined; + if (codePoint !== undefined) + return codePoint <= 0x10ffff ? String.fromCodePoint(codePoint) : entity; return (name === undefined ? undefined : XML_ENTITIES[name]) ?? entity; }, ); @@ -75,8 +85,12 @@ const decodeXmlText = (text: string): string => export const parseXmlPropertyList = ( text: string, ): PropertyListWithoutPrototypeKeys => { + // The decoded text holds every key the decoder can produce, including + // entity-encoded spellings of the placeholder, so no source key aliases it. + // Decoding comment or CDATA text too can only lengthen the placeholder. + const decoded = decodeXmlText(text); let placeholder = "__rea_prototype_key__"; - while (text.includes(placeholder)) placeholder = `_${placeholder}`; + while (decoded.includes(placeholder)) placeholder = `_${placeholder}`; const substituted = text.replace( KEY_TOKEN, (token, plain?: string, cdata?: string) => diff --git a/src/domain/webBundleAnalyzerAst.ts b/src/domain/webBundleAnalyzerAst.ts index 70b1b1ebf..0decf4370 100644 --- a/src/domain/webBundleAnalyzerAst.ts +++ b/src/domain/webBundleAnalyzerAst.ts @@ -1,7 +1,7 @@ import * as t from "@babel/types"; import { sanitizeBrowserUrl } from "./browserObservation.js"; -import { semanticStaticPropertyName } from "./javascriptAstValues.js"; +import { semanticStaticPropertyName } from "./javascript/javascriptAstValues.js"; /** Pick the endpoint argument for common network-call patterns. */ diff --git a/src/domain/webBundleAnalyzerInspection.ts b/src/domain/webBundleAnalyzerInspection.ts index 4f8451181..3260f9b98 100644 --- a/src/domain/webBundleAnalyzerInspection.ts +++ b/src/domain/webBundleAnalyzerInspection.ts @@ -4,12 +4,12 @@ import * as t from "@babel/types"; import { sanitizeEndpointCandidate } from "./browserObservation.js"; import type { WebPageInspection } from "./browserObservation.js"; import type { WebBundleAnalysis } from "./webBundleAnalysis.js"; -import { semanticStaticPropertyName } from "./javascriptAstValues.js"; +import { semanticStaticPropertyName } from "./javascript/javascriptAstValues.js"; import { calleeName, endpointArgument, stringValue, -} from "./javascriptStaticAnalysisHelpers.js"; +} from "./javascript/javascriptStaticAnalysisHelpers.js"; import { location, locationFields, diff --git a/src/domain/webModuleImports.ts b/src/domain/webModuleImports.ts index 2e7c3e473..58dcd82d7 100644 --- a/src/domain/webModuleImports.ts +++ b/src/domain/webModuleImports.ts @@ -1,6 +1,6 @@ import { traverseFast, isStringLiteral, isTemplateLiteral } from "@babel/types"; import type { Node } from "@babel/types"; -import { parseJavaScriptSource } from "./javascriptSourceParser.js"; +import { parseJavaScriptSource } from "./javascript/javascriptSourceParser.js"; import type { WebModuleImport } from "./webModuleTrace.js"; import type { ExportedWebScript } from "./webScriptExport.js"; diff --git a/src/dotnet/ManagedNativeBoundaryHelpers.ts b/src/dotnet/ManagedNativeBoundaryHelpers.ts index 3dafe5dac..1e9908f42 100644 --- a/src/dotnet/ManagedNativeBoundaryHelpers.ts +++ b/src/dotnet/ManagedNativeBoundaryHelpers.ts @@ -320,19 +320,21 @@ const boundaryKind = ( return "mixed-or-unknown"; }; +/** CLI header facets of a PE without an admitted CLI header. */ +export const NO_CLI_NATIVE: ManagedNativeBoundaryInspection["cli_native"] = { + il_only: false, + requires_32bit: false, + strong_name_signed: false, + native_entry_point: false, + ready_to_run_signature: false, + managed_native_header_rva: 0, + managed_native_header_size: 0, +}; + export const cliNative = ( pe: ManagedPeLayout, ): ManagedNativeBoundaryInspection["cli_native"] => { - if (pe.cli === null) - return { - il_only: false, - requires_32bit: false, - strong_name_signed: false, - native_entry_point: false, - ready_to_run_signature: false, - managed_native_header_rva: 0, - managed_native_header_size: 0, - }; + if (pe.cli === null) return NO_CLI_NATIVE; return { il_only: (pe.cli.flags & 0x0000_0001) !== 0, requires_32bit: (pe.cli.flags & 0x0000_0002) !== 0, @@ -344,6 +346,22 @@ export const cliNative = ( }; }; +/** Summarize declaration counts with the native facets of the CLI header. */ +export const nativeBoundarySummary = ( + native: ManagedNativeBoundaryInspection["cli_native"], + counts: Pick< + ManagedNativeBoundaryInspection["summary"], + "module_ref_count" | "pinvoke_import_count" | "native_implementation_count" + >, +): ManagedNativeBoundaryInspection["summary"] => ({ + ...counts, + ready_to_run: native.ready_to_run_signature, + mixed_mode_or_native_header: + native.managed_native_header_rva !== 0 || + native.managed_native_header_size !== 0 || + native.native_entry_point, +}); + interface BoundaryInspectionContext { readonly target: BinaryTarget; readonly bytes: Buffer; @@ -390,16 +408,11 @@ export const buildNativeBoundaryInspection = ({ module_refs: moduleRefs, pinvoke_imports: imports, native_implementations: implementations, - summary: { + summary: nativeBoundarySummary(native, { module_ref_count: moduleRefs.length, pinvoke_import_count: imports.length, native_implementation_count: implementations.length, - ready_to_run: native.ready_to_run_signature, - mixed_mode_or_native_header: - native.managed_native_header_rva !== 0 || - native.managed_native_header_size !== 0 || - native.native_entry_point, - }, + }), coverage: { state: issues.length === 0 ? "complete" : "partial", issues, diff --git a/src/dotnet/ManagedNativeBoundaryInspector.test.ts b/src/dotnet/ManagedNativeBoundaryInspector.test.ts index a33c803bf..70c49248d 100644 --- a/src/dotnet/ManagedNativeBoundaryInspector.test.ts +++ b/src/dotnet/ManagedNativeBoundaryInspector.test.ts @@ -101,4 +101,60 @@ describe("managed native boundaries", () => { expect.objectContaining({ code: "invalid-metadata-root" }), ]); }); + + it("reports unavailable boundaries for native and malformed PE files", () => { + const nativeBytes = buildNativePeFixture(); + const native = inspectManagedNativeBoundariesBytes( + nativeBytes, + managedPeFixtureTarget(nativeBytes), + ); + expect(native).toMatchObject({ + metadata: { status: "absent" }, + pinvoke_imports: [], + coverage: { state: "unavailable", issues: [] }, + }); + + const malformedBytes = buildManagedPeFixture({ + corruptMetadataSignature: true, + readyToRun: true, + }); + const malformed = inspectManagedNativeBoundariesBytes( + malformedBytes, + managedPeFixtureTarget(malformedBytes), + ); + expect(malformed).toMatchObject({ + metadata: { status: "malformed" }, + cli_native: { + il_only: true, + ready_to_run_signature: true, + managed_native_header_rva: 0x2700, + managed_native_header_size: 4, + }, + summary: { ready_to_run: true, mixed_mode_or_native_header: true }, + coverage: { + state: "unavailable", + issues: [expect.objectContaining({ code: "invalid-metadata-root" })], + }, + }); + expect(malformed.limitations).not.toContainEqual( + expect.stringContaining("CLI header was not admitted"), + ); + }); + + it("marks CLI header facets as defaults when the CLI header is unreadable", () => { + const bytes = buildManagedPeFixture(); + bytes.writeUInt32LE(0x7fff_0000, 0x84 + 20 + 96 + 14 * 8); + const result = inspectManagedNativeBoundariesBytes( + bytes, + managedPeFixtureTarget(bytes), + ); + expect(result).toMatchObject({ + metadata: { status: "malformed" }, + cli_native: { il_only: false }, + coverage: { state: "unavailable", issues: [expect.anything()] }, + }); + expect(result.limitations).toContainEqual( + expect.stringContaining("CLI header was not admitted"), + ); + }); }); diff --git a/src/dotnet/ManagedNativeBoundaryInspector.ts b/src/dotnet/ManagedNativeBoundaryInspector.ts index 9fd96790b..b9d519ee7 100644 --- a/src/dotnet/ManagedNativeBoundaryInspector.ts +++ b/src/dotnet/ManagedNativeBoundaryInspector.ts @@ -20,6 +20,8 @@ import { ManagedReaderFailure } from "./ManagedReaderFailure.js"; import { buildNativeBoundaryInspection, cliNative, + NO_CLI_NATIVE, + nativeBoundarySummary, nativeImplementations, parseFields, parseImplMaps, @@ -29,13 +31,25 @@ import { type Inventory = ReturnType; +/** + * Report a PE whose CLI metadata is absent or cannot be admitted. `native` + * holds the CLI header facts when the header itself was admitted; otherwise + * the header is absent (`not-managed`) or unreadable (`malformed`). + */ const emptyInspection = ( target: BinaryTarget, bytes: Buffer, - classification: "not-managed" | "malformed" | "not-available" | "managed", - issues: readonly ManagedParseIssue[] = [], -): ManagedNativeBoundaryInspection => - managedNativeBoundaryInspectionSchema.parse({ + classification: "not-managed" | "malformed", + { + native = null, + issues = [], + }: { + readonly native?: ManagedNativeBoundaryInspection["cli_native"] | null; + readonly issues?: readonly ManagedParseIssue[]; + } = {}, +): ManagedNativeBoundaryInspection => { + const header = native ?? NO_CLI_NATIVE; + return managedNativeBoundaryInspectionSchema.parse({ artifact: { path: target.path, sha256: target.sha256, @@ -44,10 +58,7 @@ const emptyInspection = ( }, module: null, metadata: { - status: - classification === "malformed" || classification === "not-available" - ? "malformed" - : "absent", + status: classification === "malformed" ? "malformed" : "absent", version: null, table_row_counts: {}, }, @@ -56,31 +67,27 @@ const emptyInspection = ( requires_artifact_sha256: target.sha256, requires_mvid: null, }, - cli_native: { - il_only: false, - requires_32bit: false, - strong_name_signed: false, - native_entry_point: false, - ready_to_run_signature: false, - managed_native_header_rva: 0, - managed_native_header_size: 0, - }, + cli_native: header, module_refs: [], pinvoke_imports: [], native_implementations: [], - summary: { + summary: nativeBoundarySummary(header, { module_ref_count: 0, pinvoke_import_count: 0, native_implementation_count: 0, - ready_to_run: false, - mixed_mode_or_native_header: false, - }, - coverage: { state: classification, issues }, + }), + coverage: { state: "unavailable", issues }, limitations: [ - "No CLI data was admitted; native boundary declarations are unavailable.", + "No CLI metadata was admitted; native boundary declarations are unavailable.", + ...(native === null && classification === "malformed" + ? [ + "The CLI header was not admitted, so cli_native and the summary's ready_to_run and mixed_mode_or_native_header values are defaults, not observations.", + ] + : []), "Static inspection does not load or execute target code, so native export resolution is not performed.", ], }); +}; const readBoundaryInventory = ( bytes: Buffer, @@ -126,14 +133,16 @@ export const inspectManagedNativeBoundariesBytes = ( pe = readManagedPeLayout(bytes); } catch (cause: unknown) { if (!(cause instanceof ManagedReaderFailure)) throw cause; - return emptyInspection(target, bytes, "malformed", [cause.issue]); + return emptyInspection(target, bytes, "malformed", { + issues: [cause.issue], + }); } if (pe.cli === null) return emptyInspection( target, bytes, pe.cliDirectoryPresent ? "malformed" : "not-managed", - pe.cliIssue === null ? [] : [pe.cliIssue], + { issues: pe.cliIssue === null ? [] : [pe.cliIssue] }, ); let layout: ManagedMetadataLayout; let inventory: Inventory; @@ -141,7 +150,10 @@ export const inspectManagedNativeBoundariesBytes = ( ({ layout, inventory } = readBoundaryInventory(bytes, pe, pe.cli)); } catch (cause: unknown) { if (!(cause instanceof ManagedReaderFailure)) throw cause; - return emptyInspection(target, bytes, "malformed", [cause.issue]); + return emptyInspection(target, bytes, "malformed", { + native: cliNative(pe), + issues: [cause.issue], + }); } const heapExtent = Math.max(layout.strings.size, layout.blob.size); const moduleRefs = parseModuleRefs(bytes, layout, heapExtent); diff --git a/src/generatedMcpToolCatalog.ts b/src/generatedMcpToolCatalog.ts index 9a29daec6..6e78d594e 100644 --- a/src/generatedMcpToolCatalog.ts +++ b/src/generatedMcpToolCatalog.ts @@ -30,7 +30,7 @@ interface GeneratedPayload { } const GENERATED_PAYLOAD_JSON = - '{\n "auxiliaryProviders": [\n {\n "capabilities": [\n {\n "available": true,\n "effects": {\n "changesPermissions": false,\n "launchesProcess": true,\n "mayAccessNetwork": false,\n "mayShowUi": false,\n "mayWriteFilesystem": true,\n "mutatesArtifact": false,\n "requiresRoot": false\n },\n "limitations": [\n "DMG child inventory automatically uses a read-only native macOS mount; PKG remains root-hash-only.",\n "ASAR files discovered in filesystem-backed inventories are expanded without bulk extraction; other nested containers remain recorded only."\n ],\n "operation": "inventory_artifact",\n "provider": {\n "id": "rea-artifact-graph",\n "name": "REA safe artifact graph provider",\n "version": "1"\n },\n "reason": null\n },\n {\n "available": true,\n "effects": {\n "changesPermissions": false,\n "launchesProcess": true,\n "mayAccessNetwork": false,\n "mayShowUi": false,\n "mayWriteFilesystem": true,\n "mutatesArtifact": false,\n "requiresRoot": false\n },\n "limitations": [\n "DMG child inventory automatically uses a read-only native macOS mount; PKG remains root-hash-only.",\n "ASAR files discovered in filesystem-backed inventories are expanded without bulk extraction; other nested containers remain recorded only."\n ],\n "operation": "inspect_artifact",\n "provider": {\n "id": "rea-artifact-graph",\n "name": "REA safe artifact graph provider",\n "version": "1"\n },\n "reason": null\n },\n {\n "available": true,\n "effects": {\n "changesPermissions": false,\n "launchesProcess": true,\n "mayAccessNetwork": false,\n "mayShowUi": false,\n "mayWriteFilesystem": true,\n "mutatesArtifact": false,\n "requiresRoot": false\n },\n "limitations": [\n "DMG child inventory automatically uses a read-only native macOS mount; PKG remains root-hash-only.",\n "ASAR files discovered in filesystem-backed inventories are expanded without bulk extraction; other nested containers remain recorded only."\n ],\n "operation": "extract_artifact",\n "provider": {\n "id": "rea-artifact-graph",\n "name": "REA safe artifact graph provider",\n "version": "1"\n },\n "reason": null\n },\n {\n "available": true,\n "effects": {\n "changesPermissions": false,\n "launchesProcess": false,\n "mayAccessNetwork": false,\n "mayShowUi": false,\n "mayWriteFilesystem": false,\n "mutatesArtifact": false,\n "requiresRoot": false\n },\n "limitations": [\n "DMG child inventory automatically uses a read-only native macOS mount; PKG remains root-hash-only.",\n "ASAR files discovered in filesystem-backed inventories are expanded without bulk extraction; other nested containers remain recorded only."\n ],\n "operation": "decode_interface_builder",\n "provider": {\n "id": "rea-artifact-graph",\n "name": "REA safe artifact graph provider",\n "version": "1"\n },\n "reason": null\n },\n {\n "available": true,\n "effects": {\n "changesPermissions": false,\n "launchesProcess": false,\n "mayAccessNetwork": false,\n "mayShowUi": false,\n "mayWriteFilesystem": false,\n "mutatesArtifact": false,\n "requiresRoot": false\n },\n "limitations": [\n "DMG child inventory automatically uses a read-only native macOS mount; PKG remains root-hash-only.",\n "ASAR files discovered in filesystem-backed inventories are expanded without bulk extraction; other nested containers remain recorded only."\n ],\n "operation": "inspect_keyed_archive",\n "provider": {\n "id": "rea-artifact-graph",\n "name": "REA safe artifact graph provider",\n "version": "1"\n },\n "reason": null\n },\n {\n "available": true,\n "effects": {\n "changesPermissions": false,\n "launchesProcess": true,\n "mayAccessNetwork": false,\n "mayShowUi": false,\n "mayWriteFilesystem": false,\n "mutatesArtifact": false,\n "requiresRoot": false\n },\n "limitations": [\n "DMG child inventory automatically uses a read-only native macOS mount; PKG remains root-hash-only.",\n "ASAR files discovered in filesystem-backed inventories are expanded without bulk extraction; other nested containers remain recorded only."\n ],\n "operation": "inspect_asset_catalog",\n "provider": {\n "id": "rea-artifact-graph",\n "name": "REA safe artifact graph provider",\n "version": "1"\n },\n "reason": null\n }\n ],\n "identity": {\n "id": "rea-artifact-graph",\n "name": "REA safe artifact graph provider",\n "version": "1"\n }\n },\n {\n "capabilities": [\n {\n "available": true,\n "effects": {\n "changesPermissions": false,\n "launchesProcess": true,\n "mayAccessNetwork": false,\n "mayShowUi": false,\n "mayWriteFilesystem": true,\n "mutatesArtifact": false,\n "requiresRoot": false\n },\n "limitations": [\n "Availability and textual formats depend on the installed macOS/Xcode toolchain."\n ],\n "operation": "observe_native_ui",\n "provider": {\n "id": "native-macos",\n "name": "macOS native inspection utilities",\n "version": null\n },\n "reason": null\n },\n {\n "available": true,\n "effects": {\n "changesPermissions": false,\n "launchesProcess": true,\n "mayAccessNetwork": true,\n "mayShowUi": true,\n "mayWriteFilesystem": true,\n "mutatesArtifact": false,\n "requiresRoot": false\n },\n "limitations": [\n "Availability and textual formats depend on the installed macOS/Xcode toolchain."\n ],\n "operation": "capture_native_ui_scenario",\n "provider": {\n "id": "native-macos",\n "name": "macOS native inspection utilities",\n "version": null\n },\n "reason": null\n },\n {\n "available": true,\n "effects": {\n "changesPermissions": false,\n "launchesProcess": true,\n "mayAccessNetwork": false,\n "mayShowUi": false,\n "mayWriteFilesystem": false,\n "mutatesArtifact": false,\n "requiresRoot": false\n },\n "limitations": [\n "Availability and textual formats depend on the installed macOS/Xcode toolchain."\n ],\n "operation": "inspect_macho",\n "provider": {\n "id": "native-macos",\n "name": "macOS native inspection utilities",\n "version": null\n },\n "reason": null\n },\n {\n "available": true,\n "effects": {\n "changesPermissions": false,\n "launchesProcess": true,\n "mayAccessNetwork": false,\n "mayShowUi": false,\n "mayWriteFilesystem": false,\n "mutatesArtifact": false,\n "requiresRoot": false\n },\n "limitations": [\n "Availability and textual formats depend on the installed macOS/Xcode toolchain."\n ],\n "operation": "inspect_signature",\n "provider": {\n "id": "native-macos",\n "name": "macOS native inspection utilities",\n "version": null\n },\n "reason": null\n },\n {\n "available": true,\n "effects": {\n "changesPermissions": false,\n "launchesProcess": true,\n "mayAccessNetwork": false,\n "mayShowUi": false,\n "mayWriteFilesystem": false,\n "mutatesArtifact": false,\n "requiresRoot": false\n },\n "limitations": [\n "Availability and textual formats depend on the installed macOS/Xcode toolchain."\n ],\n "operation": "inspect_plist",\n "provider": {\n "id": "native-macos",\n "name": "macOS native inspection utilities",\n "version": null\n },\n "reason": null\n },\n {\n "available": true,\n "effects": {\n "changesPermissions": false,\n "launchesProcess": true,\n "mayAccessNetwork": false,\n "mayShowUi": false,\n "mayWriteFilesystem": false,\n "mutatesArtifact": false,\n "requiresRoot": false\n },\n "limitations": [\n "Availability and textual formats depend on the installed macOS/Xcode toolchain."\n ],\n "operation": "list_architectures",\n "provider": {\n "id": "native-macos",\n "name": "macOS native inspection utilities",\n "version": null\n },\n "reason": null\n },\n {\n "available": true,\n "effects": {\n "changesPermissions": false,\n "launchesProcess": true,\n "mayAccessNetwork": false,\n "mayShowUi": false,\n "mayWriteFilesystem": false,\n "mutatesArtifact": false,\n "requiresRoot": false\n },\n "limitations": [\n "Availability and textual formats depend on the installed macOS/Xcode toolchain."\n ],\n "operation": "demangle_swift",\n "provider": {\n "id": "native-macos",\n "name": "macOS native inspection utilities",\n "version": null\n },\n "reason": null\n },\n {\n "available": true,\n "effects": {\n "changesPermissions": false,\n "launchesProcess": false,\n "mayAccessNetwork": false,\n "mayShowUi": false,\n "mayWriteFilesystem": false,\n "mutatesArtifact": false,\n "requiresRoot": false\n },\n "limitations": [\n "Availability and textual formats depend on the installed macOS/Xcode toolchain."\n ],\n "operation": "inspect_native_dispatch_metadata",\n "provider": {\n "id": "native-macos",\n "name": "macOS native inspection utilities",\n "version": null\n },\n "reason": null\n }\n ],\n "identity": {\n "id": "native-macos",\n "name": "macOS native inspection utilities",\n "version": null\n }\n },\n {\n "capabilities": [\n {\n "available": true,\n "effects": {\n "changesPermissions": false,\n "launchesProcess": false,\n "mayAccessNetwork": false,\n "mayShowUi": false,\n "mayWriteFilesystem": false,\n "mutatesArtifact": false,\n "requiresRoot": false\n },\n "limitations": [\n "This capability inventories PE/CLI identity only; inspect_managed_members admits metadata members, signatures, and CIL anchors.",\n "It never loads the target assembly, resolves dependencies through a CLR, decompiles C#, or executes target code."\n ],\n "operation": "inspect_managed_artifact",\n "provider": {\n "id": "rea-dotnet-static",\n "name": "REA managed static analysis provider",\n "version": "1"\n },\n "reason": null\n },\n {\n "available": true,\n "effects": {\n "changesPermissions": false,\n "launchesProcess": false,\n "mayAccessNetwork": false,\n "mayShowUi": false,\n "mayWriteFilesystem": false,\n "mutatesArtifact": false,\n "requiresRoot": false\n },\n "limitations": [\n "This capability decodes PE/CLI metadata members, signatures, and file-backed method bodies; decompiled C# reconstruction and cross-build member comparison are separate operations.",\n "It never loads the target assembly, resolves dependencies through a CLR, decompiles C#, or executes target code."\n ],\n "operation": "inspect_managed_members",\n "provider": {\n "id": "rea-dotnet-static",\n "name": "REA managed static analysis provider",\n "version": "1"\n },\n "reason": null\n },\n {\n "available": true,\n "effects": {\n "changesPermissions": false,\n "launchesProcess": false,\n "mayAccessNetwork": false,\n "mayShowUi": false,\n "mayWriteFilesystem": false,\n "mutatesArtifact": false,\n "requiresRoot": false\n },\n "limitations": [\n "This capability inventories managed declarations for native boundaries only; native exports, thunks, and addresses require separate native-provider evidence.",\n "It never loads the target assembly, resolves dependencies through a CLR, decompiles C#, or executes target code."\n ],\n "operation": "inspect_managed_native_boundaries",\n "provider": {\n "id": "rea-dotnet-static",\n "name": "REA managed static analysis provider",\n "version": "1"\n },\n "reason": null\n }\n ],\n "identity": {\n "id": "rea-dotnet-static",\n "name": "REA managed static analysis provider",\n "version": "1"\n }\n }\n ],\n "catalog": [\n {\n "analysisOperation": "annotate_native_function",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": true,\n "readOnlyHint": false\n },\n "description": "Atomically update one function name and/or entry comments, read them back, and return a refreshed complete function dossier. Ghidra changes its ephemeral session analysis database only; original executable bytes remain unchanged. Empty comment text clears that comment. Edits remain available to subsequent MCP calls until close; CLI returns the updated dossier before discarding its session. Invalid edits roll back the entire operation. Windows P0 and providers without this capability are unsupported.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": true,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": true,\n "writesFilesystem": true\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "comment": "Analyst observation",\n "name": "entry",\n "procedure": "0x10100"\n }\n ],\n "properties": {\n "comment": {\n "description": "Regular entry comment; empty text clears it",\n "type": "string"\n },\n "inline_comment": {\n "description": "Inline entry comment; empty text clears it",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "procedure": {\n "description": "Value for procedure.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "procedure"\n ],\n "type": "object"\n },\n "kind": "official-proxy",\n "name": "annotate_native_function",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "annotations": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "comment": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "inline_comment": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "address",\n "name",\n "comment",\n "inline_comment"\n ],\n "type": "object"\n },\n "dossier": {\n "additionalProperties": false,\n "properties": {\n "assembly": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "basic_blocks": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "end": {\n "type": "string"\n },\n "start": {\n "type": "string"\n },\n "successors": {\n "items": {\n "type": "string"\n },\n "type": "array"\n }\n },\n "required": [\n "start",\n "end",\n "successors"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "callees": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "body": {\n "default": {\n "available": false,\n "reason": "The provider did not report complete function body ranges."\n },\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "reason": {\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "contains_entry": {\n "type": "boolean"\n },\n "non_contiguous": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "ranges": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "end": {\n "description": "Inclusive last address of this observed body range.",\n "type": "string"\n },\n "start": {\n "type": "string"\n }\n },\n "required": [\n "start",\n "end"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "span_bytes": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "total_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "available",\n "provenance",\n "ranges",\n "total_bytes",\n "span_bytes",\n "non_contiguous",\n "contains_entry"\n ],\n "type": "object"\n }\n ]\n },\n "classification": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "external": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "thunk": {\n "type": "boolean"\n },\n "thunk_target": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "external",\n "thunk",\n "thunk_target",\n "provenance"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "name": {\n "type": "string"\n }\n },\n "required": [\n "address",\n "name",\n "classification",\n "body"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "callers": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "body": {\n "default": {\n "available": false,\n "reason": "The provider did not report complete function body ranges."\n },\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "reason": {\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "contains_entry": {\n "type": "boolean"\n },\n "non_contiguous": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "ranges": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "end": {\n "description": "Inclusive last address of this observed body range.",\n "type": "string"\n },\n "start": {\n "type": "string"\n }\n },\n "required": [\n "start",\n "end"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "span_bytes": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "total_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "available",\n "provenance",\n "ranges",\n "total_bytes",\n "span_bytes",\n "non_contiguous",\n "contains_entry"\n ],\n "type": "object"\n }\n ]\n },\n "classification": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "external": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "thunk": {\n "type": "boolean"\n },\n "thunk_target": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "external",\n "thunk",\n "thunk_target",\n "provenance"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "name": {\n "type": "string"\n }\n },\n "required": [\n "address",\n "name",\n "classification",\n "body"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "comments": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "kind": {\n "enum": [\n "comment",\n "inline"\n ],\n "type": "string"\n },\n "text": {\n "type": "string"\n }\n },\n "required": [\n "address",\n "kind",\n "text"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "incoming_references": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "reason": {\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "call": {\n "type": "boolean"\n },\n "computed": {\n "type": "boolean"\n },\n "conditional": {\n "type": "boolean"\n },\n "data": {\n "type": "boolean"\n },\n "external": {\n "type": "boolean"\n },\n "flow": {\n "type": "boolean"\n },\n "indirect": {\n "type": "boolean"\n },\n "jump": {\n "type": "boolean"\n },\n "operand_index": {\n "maximum": 9007199254740991,\n "minimum": -9007199254740991,\n "type": "integer"\n },\n "primary": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "read": {\n "type": "boolean"\n },\n "terminal": {\n "type": "boolean"\n },\n "type": {\n "type": "string"\n },\n "write": {\n "type": "boolean"\n }\n },\n "required": [\n "available",\n "provenance",\n "type",\n "flow",\n "call",\n "jump",\n "data",\n "read",\n "write",\n "indirect",\n "computed",\n "conditional",\n "terminal",\n "primary",\n "operand_index",\n "external"\n ],\n "type": "object"\n }\n ]\n },\n "source_address": {\n "type": "string"\n },\n "source_procedure": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "body": {\n "default": {\n "available": false,\n "reason": "The provider did not report complete function body ranges."\n },\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "reason": {\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "contains_entry": {\n "type": "boolean"\n },\n "non_contiguous": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "ranges": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "end": {\n "description": "Inclusive last address of this observed body range.",\n "type": "string"\n },\n "start": {\n "type": "string"\n }\n },\n "required": [\n "start",\n "end"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "span_bytes": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "total_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "available",\n "provenance",\n "ranges",\n "total_bytes",\n "span_bytes",\n "non_contiguous",\n "contains_entry"\n ],\n "type": "object"\n }\n ]\n },\n "classification": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "external": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "thunk": {\n "type": "boolean"\n },\n "thunk_target": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "external",\n "thunk",\n "thunk_target",\n "provenance"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "name": {\n "type": "string"\n }\n },\n "required": [\n "address",\n "name",\n "classification",\n "body"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "target_address": {\n "type": "string"\n },\n "target_procedure": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "body": {\n "default": {\n "available": false,\n "reason": "The provider did not report complete function body ranges."\n },\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "reason": {\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "contains_entry": {\n "type": "boolean"\n },\n "non_contiguous": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "ranges": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "end": {\n "description": "Inclusive last address of this observed body range.",\n "type": "string"\n },\n "start": {\n "type": "string"\n }\n },\n "required": [\n "start",\n "end"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "span_bytes": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "total_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "available",\n "provenance",\n "ranges",\n "total_bytes",\n "span_bytes",\n "non_contiguous",\n "contains_entry"\n ],\n "type": "object"\n }\n ]\n },\n "classification": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "external": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "thunk": {\n "type": "boolean"\n },\n "thunk_target": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "external",\n "thunk",\n "thunk_target",\n "provenance"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "name": {\n "type": "string"\n }\n },\n "required": [\n "address",\n "name",\n "classification",\n "body"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "source_address",\n "target_address",\n "source_procedure",\n "target_procedure",\n "kind"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "limitations": {\n "default": [],\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "native_api": {\n "anyOf": [\n {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "reason": {\n "minLength": 1,\n "type": "string"\n },\n "residual_unknowns": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "available",\n "reason",\n "residual_unknowns"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "calling_convention": {\n "minLength": 1,\n "type": "string"\n },\n "decompiler_artifacts": {\n "items": {\n "enum": [\n "recovered-signature",\n "register-and-stack-variables",\n "compiler-generated-control-flow",\n "pointer-arithmetic",\n "pseudocode"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "jump_tables": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "data_sources": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "confidence": {\n "enum": [\n "low",\n "medium",\n "high"\n ],\n "type": "string"\n },\n "entry_count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "entry_size_bytes": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "enum": [\n "signature-source",\n "decompiler-type",\n "type-lock",\n "calling-convention",\n "jump-table"\n ],\n "type": "string"\n },\n "source": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "source",\n "detail"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "provenance": {\n "enum": [\n "ghidra-decompiler-load-table",\n "ghidra-dispatch-block-data-reference",\n "ghidra-aarch64-byte-table",\n "ghidra-aarch64-halfword-table"\n ],\n "type": "string"\n }\n },\n "required": [\n "address",\n "provenance",\n "entry_size_bytes",\n "entry_count",\n "confidence",\n "evidence"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "default_targets": {\n "default": [],\n "items": {\n "additionalProperties": false,\n "properties": {\n "confidence": {\n "enum": [\n "low",\n "medium",\n "high"\n ],\n "type": "string"\n },\n "evidence": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "enum": [\n "signature-source",\n "decompiler-type",\n "type-lock",\n "calling-convention",\n "jump-table"\n ],\n "type": "string"\n },\n "source": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "source",\n "detail"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "target_address": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "target_address",\n "confidence",\n "evidence"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "dispatch_address": {\n "minLength": 1,\n "type": "string"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "mappings": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "case_value": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": -9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "confidence": {\n "enum": [\n "low",\n "medium",\n "high"\n ],\n "type": "string"\n },\n "evidence": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "enum": [\n "signature-source",\n "decompiler-type",\n "type-lock",\n "calling-convention",\n "jump-table"\n ],\n "type": "string"\n },\n "source": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "source",\n "detail"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "target_address": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "case_value",\n "target_address",\n "confidence",\n "evidence"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "dispatch_address",\n "data_sources",\n "mappings",\n "default_targets",\n "limitations"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "parameters": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "confidence": {\n "enum": [\n "low",\n "medium",\n "high"\n ],\n "type": "string"\n },\n "data_type": {\n "minLength": 1,\n "type": "string"\n },\n "decompiler_artifacts": {\n "items": {\n "enum": [\n "recovered-signature",\n "register-or-stack-storage",\n "compiler-generated-variable"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "evidence": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "enum": [\n "signature-source",\n "decompiler-type",\n "type-lock",\n "calling-convention",\n "jump-table"\n ],\n "type": "string"\n },\n "source": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "source",\n "detail"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "name": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "ordinal": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "role": {\n "const": "parameter",\n "type": "string"\n },\n "size_bytes": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "storage": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "ordinal",\n "name",\n "data_type",\n "size_bytes",\n "storage",\n "confidence",\n "evidence",\n "decompiler_artifacts",\n "role"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "pseudocode": {\n "additionalProperties": false,\n "properties": {\n "classification": {\n "const": "decompiler-generated-non-source",\n "type": "string"\n },\n "compilable": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "classification",\n "compilable"\n ],\n "type": "object"\n },\n "return_type": {\n "additionalProperties": false,\n "properties": {\n "confidence": {\n "enum": [\n "low",\n "medium",\n "high"\n ],\n "type": "string"\n },\n "data_type": {\n "minLength": 1,\n "type": "string"\n },\n "decompiler_artifacts": {\n "items": {\n "enum": [\n "recovered-signature",\n "register-or-stack-storage",\n "compiler-generated-variable"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "evidence": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "enum": [\n "signature-source",\n "decompiler-type",\n "type-lock",\n "calling-convention",\n "jump-table"\n ],\n "type": "string"\n },\n "source": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "source",\n "detail"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "name": {\n "type": "null"\n },\n "ordinal": {\n "type": "null"\n },\n "role": {\n "const": "return",\n "type": "string"\n },\n "size_bytes": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "storage": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "ordinal",\n "name",\n "data_type",\n "size_bytes",\n "storage",\n "confidence",\n "evidence",\n "decompiler_artifacts",\n "role"\n ],\n "type": "object"\n },\n "signature_source": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "available",\n "provenance",\n "signature_source",\n "calling_convention",\n "return_type",\n "parameters",\n "jump_tables",\n "pseudocode",\n "decompiler_artifacts",\n "limitations"\n ],\n "type": "object"\n }\n ]\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "native_value_flow": {\n "anyOf": [\n {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "def_use": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "definition": {\n "minLength": 1,\n "type": "string"\n },\n "input_index": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "use": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "definition",\n "use",\n "input_index"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "effects": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "enum": [\n "memory_read",\n "memory_write",\n "conditional_branch",\n "indirect_branch",\n "direct_call",\n "indirect_call"\n ],\n "type": "string"\n },\n "operand_input": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "value_input": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "operation",\n "kind",\n "operand_input",\n "value_input"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "known_omitted_edges": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "known_omitted_inputs": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "omitted_operations_lower_bound": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "operations": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "block_membership": {\n "default": "unavailable",\n "enum": [\n "member",\n "detached",\n "unavailable"\n ],\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "inputs": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "constant_hex": {\n "anyOf": [\n {\n "pattern": "^[0-9a-f]+$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "kind": {\n "enum": [\n "constant",\n "address",\n "register",\n "unique",\n "other"\n ],\n "type": "string"\n },\n "location": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "size_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "size_bytes",\n "location",\n "constant_hex"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "is_dead": {\n "type": "boolean"\n },\n "opcode": {\n "minLength": 1,\n "type": "string"\n },\n "output": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "constant_hex": {\n "anyOf": [\n {\n "pattern": "^[0-9a-f]+$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "kind": {\n "enum": [\n "constant",\n "address",\n "register",\n "unique",\n "other"\n ],\n "type": "string"\n },\n "location": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "size_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "size_bytes",\n "location",\n "constant_hex"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "sequence": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "id",\n "address",\n "sequence",\n "opcode",\n "is_dead",\n "block_membership",\n "inputs",\n "output"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "parameter_uses": {\n "default": [],\n "items": {\n "additionalProperties": false,\n "properties": {\n "input_index": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "ordinal": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "use": {\n "type": "string"\n }\n },\n "required": [\n "ordinal",\n "use",\n "input_index"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "parameters": {\n "default": [],\n "items": {\n "additionalProperties": false,\n "properties": {\n "data_type": {\n "type": "string"\n },\n "name": {\n "type": "string"\n },\n "ordinal": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "ordinal",\n "name",\n "data_type"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "provenance": {\n "const": "ghidra-high-pcode",\n "type": "string"\n },\n "truncated": {\n "type": "boolean"\n }\n },\n "required": [\n "available",\n "provenance",\n "operations",\n "def_use",\n "effects",\n "parameters",\n "parameter_uses",\n "truncated",\n "omitted_operations_lower_bound",\n "known_omitted_inputs",\n "known_omitted_edges",\n "limitations"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "reason": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason",\n "limitations"\n ],\n "type": "object"\n }\n ]\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "outgoing_references": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "reason": {\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "call": {\n "type": "boolean"\n },\n "computed": {\n "type": "boolean"\n },\n "conditional": {\n "type": "boolean"\n },\n "data": {\n "type": "boolean"\n },\n "external": {\n "type": "boolean"\n },\n "flow": {\n "type": "boolean"\n },\n "indirect": {\n "type": "boolean"\n },\n "jump": {\n "type": "boolean"\n },\n "operand_index": {\n "maximum": 9007199254740991,\n "minimum": -9007199254740991,\n "type": "integer"\n },\n "primary": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "read": {\n "type": "boolean"\n },\n "terminal": {\n "type": "boolean"\n },\n "type": {\n "type": "string"\n },\n "write": {\n "type": "boolean"\n }\n },\n "required": [\n "available",\n "provenance",\n "type",\n "flow",\n "call",\n "jump",\n "data",\n "read",\n "write",\n "indirect",\n "computed",\n "conditional",\n "terminal",\n "primary",\n "operand_index",\n "external"\n ],\n "type": "object"\n }\n ]\n },\n "source_address": {\n "type": "string"\n },\n "source_procedure": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "body": {\n "default": {\n "available": false,\n "reason": "The provider did not report complete function body ranges."\n },\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "reason": {\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "contains_entry": {\n "type": "boolean"\n },\n "non_contiguous": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "ranges": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "end": {\n "description": "Inclusive last address of this observed body range.",\n "type": "string"\n },\n "start": {\n "type": "string"\n }\n },\n "required": [\n "start",\n "end"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "span_bytes": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "total_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "available",\n "provenance",\n "ranges",\n "total_bytes",\n "span_bytes",\n "non_contiguous",\n "contains_entry"\n ],\n "type": "object"\n }\n ]\n },\n "classification": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "external": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "thunk": {\n "type": "boolean"\n },\n "thunk_target": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "external",\n "thunk",\n "thunk_target",\n "provenance"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "name": {\n "type": "string"\n }\n },\n "required": [\n "address",\n "name",\n "classification",\n "body"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "target_address": {\n "type": "string"\n },\n "target_procedure": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "body": {\n "default": {\n "available": false,\n "reason": "The provider did not report complete function body ranges."\n },\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "reason": {\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "contains_entry": {\n "type": "boolean"\n },\n "non_contiguous": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "ranges": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "end": {\n "description": "Inclusive last address of this observed body range.",\n "type": "string"\n },\n "start": {\n "type": "string"\n }\n },\n "required": [\n "start",\n "end"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "span_bytes": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "total_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "available",\n "provenance",\n "ranges",\n "total_bytes",\n "span_bytes",\n "non_contiguous",\n "contains_entry"\n ],\n "type": "object"\n }\n ]\n },\n "classification": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "external": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "thunk": {\n "type": "boolean"\n },\n "thunk_target": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "external",\n "thunk",\n "thunk_target",\n "provenance"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "name": {\n "type": "string"\n }\n },\n "required": [\n "address",\n "name",\n "classification",\n "body"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "source_address",\n "target_address",\n "source_procedure",\n "target_procedure",\n "kind"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "procedure": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "body": {\n "default": {\n "available": false,\n "reason": "The provider did not report complete function body ranges."\n },\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "reason": {\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "contains_entry": {\n "type": "boolean"\n },\n "non_contiguous": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "ranges": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "end": {\n "description": "Inclusive last address of this observed body range.",\n "type": "string"\n },\n "start": {\n "type": "string"\n }\n },\n "required": [\n "start",\n "end"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "span_bytes": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "total_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "available",\n "provenance",\n "ranges",\n "total_bytes",\n "span_bytes",\n "non_contiguous",\n "contains_entry"\n ],\n "type": "object"\n }\n ]\n },\n "classification": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "external": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "thunk": {\n "type": "boolean"\n },\n "thunk_target": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "external",\n "thunk",\n "thunk_target",\n "provenance"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "locals": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "description": {\n "type": "string"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "description",\n "provenance"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "name": {\n "type": "string"\n },\n "signature": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "address",\n "name",\n "classification",\n "body",\n "signature",\n "locals"\n ],\n "type": "object"\n },\n "pseudocode": {\n "type": "string"\n },\n "referenced_names": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "source_address": {\n "type": "string"\n },\n "value": {\n "type": "string"\n }\n },\n "required": [\n "address",\n "value",\n "source_address"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "referenced_strings": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "source_address": {\n "type": "string"\n },\n "value": {\n "type": "string"\n }\n },\n "required": [\n "address",\n "value",\n "source_address"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "procedure",\n "pseudocode",\n "assembly",\n "comments",\n "callers",\n "callees",\n "incoming_references",\n "outgoing_references",\n "referenced_strings",\n "referenced_names",\n "basic_blocks",\n "native_api",\n "native_value_flow",\n "limitations"\n ],\n "type": "object"\n },\n "effects": {\n "additionalProperties": false,\n "properties": {\n "persists_after_close": {\n "const": false,\n "type": "boolean"\n },\n "scope": {\n "const": "session-analysis-database",\n "type": "string"\n },\n "source_bytes_modified": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "scope",\n "source_bytes_modified",\n "persists_after_close"\n ],\n "type": "object"\n }\n },\n "required": [\n "annotations",\n "dossier",\n "effects"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Annotate Native Function"\n },\n {\n "analysisOperation": "inspect_native_load_image",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Verify the provider\'s loaded DOS MZ or explicitly selected COM image against its immutable target snapshot: complete original/modified source-byte digests, header/module file mappings and memory digests, relocations and external entry. Returns measured observations and independent checks with mismatch coordinates. COM verification includes its imposed entry register context and does not claim PSP/runtime coverage. Overlay and uninitialized coverage remain explicit; other formats return unsupported. Does not execute or modify the target.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {}\n ],\n "properties": {},\n "type": "object"\n },\n "kind": "official-proxy",\n "name": "inspect_native_load_image",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "observations": {\n "additionalProperties": false,\n "properties": {\n "compiler_spec_id": {\n "minLength": 1,\n "type": "string"\n },\n "default_address_space": {\n "minLength": 1,\n "type": "string"\n },\n "entry_context": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "registers": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "value_hex": {\n "anyOf": [\n {\n "pattern": "^0x[a-f0-9]+$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "name",\n "value_hex"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "address",\n "registers"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "entry_points": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "executable_format": {\n "minLength": 1,\n "type": "string"\n },\n "image_base": {\n "minLength": 1,\n "type": "string"\n },\n "language_id": {\n "minLength": 1,\n "type": "string"\n },\n "mappings": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address_space": {\n "minLength": 1,\n "type": "string"\n },\n "block": {\n "type": "string"\n },\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "file_offset": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "initialized": {\n "type": "boolean"\n },\n "length": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "loaded": {\n "type": "boolean"\n },\n "overlay": {\n "type": "boolean"\n },\n "sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "source_file_index": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "block",\n "start",\n "end",\n "address_space",\n "initialized",\n "loaded",\n "overlay",\n "length",\n "source_file_index",\n "file_offset",\n "sha256"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "metadata_recovery": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "analysis_artifact_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "coverage": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "basis": {\n "const": "rehydrated-pointer-candidates-and-committed-instance-types",\n "type": "string"\n },\n "frozen_object_candidates": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "frozen_objects_annotated": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "frozen_object_candidates",\n "frozen_objects_annotated",\n "basis"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "derived_memory": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "pattern": "^0x[0-9a-f]+$",\n "type": "string"\n },\n "file_offset": {\n "type": "null"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "size_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "address",\n "size_bytes",\n "sha256",\n "file_offset"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "diagnostics": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "discovery": {\n "anyOf": [\n {\n "enum": [\n "symbol",\n "signature-heuristic"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "format": {\n "const": "dotnet-nativeaot",\n "type": "string"\n },\n "format_major": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "format_minor": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "header_address": {\n "anyOf": [\n {\n "pattern": "^0x[0-9a-f]+$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "method_tables": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "reason": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "enum": [\n "complete",\n "partial",\n "not_applicable"\n ],\n "type": "string"\n },\n "types": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "pattern": "^0x[0-9a-f]+$",\n "type": "string"\n },\n "type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "address",\n "type"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "format",\n "status",\n "reason",\n "analysis_artifact_sha256",\n "header_address",\n "discovery",\n "format_major",\n "format_minor",\n "method_tables",\n "types",\n "derived_memory",\n "coverage",\n "diagnostics",\n "limitations"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "relocations": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "memory_bytes_hex": {\n "anyOf": [\n {\n "pattern": "^(?:[a-f0-9]{2})*$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "offset": {\n "anyOf": [\n {\n "maximum": 65535,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "original_bytes_hex": {\n "anyOf": [\n {\n "pattern": "^(?:[a-f0-9]{2})*$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "segment": {\n "anyOf": [\n {\n "maximum": 65535,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "minLength": 1,\n "type": "string"\n },\n "type": {\n "maximum": 9007199254740991,\n "minimum": -9007199254740991,\n "type": "integer"\n },\n "values": {\n "items": {\n "maximum": 9007199254740991,\n "minimum": -9007199254740991,\n "type": "integer"\n },\n "type": "array"\n }\n },\n "required": [\n "address",\n "segment",\n "offset",\n "status",\n "type",\n "values",\n "original_bytes_hex",\n "memory_bytes_hex"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "source_files": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "modified_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "name": {\n "type": "string"\n },\n "original_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "size": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "size",\n "original_sha256",\n "modified_sha256"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "executable_format",\n "language_id",\n "compiler_spec_id",\n "image_base",\n "default_address_space",\n "source_files",\n "mappings",\n "relocations",\n "entry_points",\n "entry_context"\n ],\n "type": "object"\n },\n "reason": {\n "minLength": 1,\n "type": "string"\n },\n "status": {\n "const": "unsupported",\n "type": "string"\n }\n },\n "required": [\n "status",\n "reason",\n "observations",\n "limitations"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "checks": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "expected": {\n "$ref": "#/$defs/__schema0"\n },\n "file_offset": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "matched": {\n "type": "boolean"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "observed": {\n "$ref": "#/$defs/__schema0"\n }\n },\n "required": [\n "name",\n "matched",\n "expected",\n "observed",\n "file_offset",\n "address"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "entry": {\n "additionalProperties": false,\n "properties": {\n "linear_address": {\n "minLength": 1,\n "type": "string"\n },\n "offset": {\n "maximum": 65535,\n "minimum": 0,\n "type": "integer"\n },\n "relative_segment": {\n "maximum": 65535,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "relative_segment",\n "offset",\n "linear_address"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "dos-mz",\n "dos-com"\n ],\n "type": "string"\n },\n "header_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "load_segment": {\n "maximum": 65535,\n "minimum": 0,\n "type": "integer"\n },\n "module_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "observations": {\n "additionalProperties": false,\n "properties": {\n "compiler_spec_id": {\n "minLength": 1,\n "type": "string"\n },\n "default_address_space": {\n "minLength": 1,\n "type": "string"\n },\n "entry_context": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "registers": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "value_hex": {\n "anyOf": [\n {\n "pattern": "^0x[a-f0-9]+$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "name",\n "value_hex"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "address",\n "registers"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "entry_points": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "executable_format": {\n "minLength": 1,\n "type": "string"\n },\n "image_base": {\n "minLength": 1,\n "type": "string"\n },\n "language_id": {\n "minLength": 1,\n "type": "string"\n },\n "mappings": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address_space": {\n "minLength": 1,\n "type": "string"\n },\n "block": {\n "type": "string"\n },\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "file_offset": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "initialized": {\n "type": "boolean"\n },\n "length": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "loaded": {\n "type": "boolean"\n },\n "overlay": {\n "type": "boolean"\n },\n "sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "source_file_index": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "block",\n "start",\n "end",\n "address_space",\n "initialized",\n "loaded",\n "overlay",\n "length",\n "source_file_index",\n "file_offset",\n "sha256"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "metadata_recovery": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "analysis_artifact_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "coverage": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "basis": {\n "const": "rehydrated-pointer-candidates-and-committed-instance-types",\n "type": "string"\n },\n "frozen_object_candidates": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "frozen_objects_annotated": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "frozen_object_candidates",\n "frozen_objects_annotated",\n "basis"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "derived_memory": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "pattern": "^0x[0-9a-f]+$",\n "type": "string"\n },\n "file_offset": {\n "type": "null"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "size_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "address",\n "size_bytes",\n "sha256",\n "file_offset"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "diagnostics": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "discovery": {\n "anyOf": [\n {\n "enum": [\n "symbol",\n "signature-heuristic"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "format": {\n "const": "dotnet-nativeaot",\n "type": "string"\n },\n "format_major": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "format_minor": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "header_address": {\n "anyOf": [\n {\n "pattern": "^0x[0-9a-f]+$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "method_tables": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "reason": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "enum": [\n "complete",\n "partial",\n "not_applicable"\n ],\n "type": "string"\n },\n "types": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "pattern": "^0x[0-9a-f]+$",\n "type": "string"\n },\n "type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "address",\n "type"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "format",\n "status",\n "reason",\n "analysis_artifact_sha256",\n "header_address",\n "discovery",\n "format_major",\n "format_minor",\n "method_tables",\n "types",\n "derived_memory",\n "coverage",\n "diagnostics",\n "limitations"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "relocations": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "memory_bytes_hex": {\n "anyOf": [\n {\n "pattern": "^(?:[a-f0-9]{2})*$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "offset": {\n "anyOf": [\n {\n "maximum": 65535,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "original_bytes_hex": {\n "anyOf": [\n {\n "pattern": "^(?:[a-f0-9]{2})*$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "segment": {\n "anyOf": [\n {\n "maximum": 65535,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "minLength": 1,\n "type": "string"\n },\n "type": {\n "maximum": 9007199254740991,\n "minimum": -9007199254740991,\n "type": "integer"\n },\n "values": {\n "items": {\n "maximum": 9007199254740991,\n "minimum": -9007199254740991,\n "type": "integer"\n },\n "type": "array"\n }\n },\n "required": [\n "address",\n "segment",\n "offset",\n "status",\n "type",\n "values",\n "original_bytes_hex",\n "memory_bytes_hex"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "source_files": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "modified_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "name": {\n "type": "string"\n },\n "original_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "size": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "size",\n "original_sha256",\n "modified_sha256"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "executable_format",\n "language_id",\n "compiler_spec_id",\n "image_base",\n "default_address_space",\n "source_files",\n "mappings",\n "relocations",\n "entry_points",\n "entry_context"\n ],\n "type": "object"\n },\n "overlay_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "status": {\n "enum": [\n "verified",\n "mismatch"\n ],\n "type": "string"\n },\n "target_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "status",\n "format",\n "target_sha256",\n "load_segment",\n "header_bytes",\n "module_bytes",\n "overlay_bytes",\n "entry",\n "observations",\n "checks",\n "limitations"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Inspect Native Load Image"\n },\n {\n "analysisOperation": "inspect_native_data_type",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Inspect one recovered type by exact database category path or defined typed data address. Returns observed size, alignment, packing, fields, bitfields, enum values, and child type identities; source-level authority and flexible-tail semantics remain unknown unless substantiated.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "type": "/MyStruct"\n }\n ],\n "properties": {\n "address": {\n "description": "Value for address.",\n "minLength": 1,\n "type": "string"\n },\n "document": {\n "description": "Exact provider document or program identity.",\n "type": "string"\n },\n "type": {\n "description": "Value for type.",\n "minLength": 1,\n "type": "string"\n }\n },\n "type": "object"\n },\n "kind": "official-proxy",\n "name": "inspect_native_data_type",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "alignment_bytes": {\n "anyOf": [\n {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "array_count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "array_stride_bytes": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "fields": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "bit_offset": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "bit_size": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "flexible_tail": {\n "const": "unknown",\n "type": "string"\n },\n "name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "offset_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "ordinal": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "size_bytes": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "enum": [\n "observed",\n "unsupported"\n ],\n "type": "string"\n },\n "type_id": {\n "type": "string"\n }\n },\n "required": [\n "ordinal",\n "name",\n "offset_bytes",\n "size_bytes",\n "type_id",\n "bit_size",\n "bit_offset",\n "status",\n "flexible_tail"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "id": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "kind": {\n "enum": [\n "struct",\n "union",\n "enum",\n "pointer",\n "array",\n "typedef",\n "scalar",\n "unsupported",\n "unavailable"\n ],\n "type": "string"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "members": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "type": "string"\n },\n "value": {\n "type": "string"\n }\n },\n "required": [\n "name",\n "value"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "metadata_recovery": {\n "additionalProperties": false,\n "properties": {\n "base_size_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "derived_memory": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "pattern": "^0x[0-9a-f]+$",\n "type": "string"\n },\n "file_offset": {\n "type": "null"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "size_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "address",\n "size_bytes",\n "sha256",\n "file_offset"\n ],\n "type": "object"\n },\n "diagnostics": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "format": {\n "const": "dotnet-nativeaot",\n "type": "string"\n },\n "format_major": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "format_minor": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "header_address": {\n "pattern": "^0x[0-9a-f]+$",\n "type": "string"\n },\n "interfaces": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "pattern": "^0x[0-9a-f]+$",\n "type": "string"\n },\n "type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "address",\n "type"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "method_table_address": {\n "pattern": "^0x[0-9a-f]+$",\n "type": "string"\n },\n "name_origin": {\n "enum": [\n "generated",\n "inferred"\n ],\n "type": "string"\n },\n "original_name": {\n "type": "null"\n },\n "related_type": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "pattern": "^0x[0-9a-f]+$",\n "type": "string"\n },\n "type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "address",\n "type"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "enum": [\n "complete",\n "partial"\n ],\n "type": "string"\n },\n "virtual_slots": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "basis": {\n "const": "method-table-pointer",\n "type": "string"\n },\n "procedure_name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "slot": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "slot_address": {\n "pattern": "^0x[0-9a-f]+$",\n "type": "string"\n },\n "target_address": {\n "anyOf": [\n {\n "pattern": "^0x[0-9a-f]+$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "slot",\n "slot_address",\n "target_address",\n "procedure_name",\n "basis"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "format",\n "status",\n "header_address",\n "format_major",\n "format_minor",\n "method_table_address",\n "name_origin",\n "original_name",\n "base_size_bytes",\n "related_type",\n "interfaces",\n "virtual_slots",\n "derived_memory",\n "diagnostics",\n "limitations"\n ],\n "type": "object"\n },\n "name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "packing_enabled": {\n "anyOf": [\n {\n "type": "boolean"\n },\n {\n "type": "null"\n }\n ]\n },\n "reason": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "referenced_type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "size_bytes": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "source": {\n "const": "analysis-database",\n "type": "string"\n },\n "source_archive": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "enum": [\n "available",\n "unavailable"\n ],\n "type": "string"\n },\n "total_fields": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "truncated": {\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "reason",\n "id",\n "name",\n "kind",\n "source",\n "source_archive",\n "address",\n "size_bytes",\n "alignment_bytes",\n "packing_enabled",\n "referenced_type",\n "array_count",\n "array_stride_bytes",\n "fields",\n "members",\n "total_fields",\n "truncated",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Inspect Native Data Type"\n },\n {\n "analysisOperation": "inspect_native_instruction",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Inspect one exact instruction address: decoded bytes, mnemonic, ordered operand tokens, flow and typed references. Memory addressing decomposition is unavailable when the provider supplies only tokens. Data, interior instruction addresses and undecodable bytes are distinct outcomes.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "address": "0x1000"\n }\n ],\n "properties": {\n "address": {\n "description": "Value for address.",\n "minLength": 1,\n "type": "string"\n },\n "document": {\n "description": "Exact provider document or program identity.",\n "type": "string"\n }\n },\n "required": [\n "address"\n ],\n "type": "object"\n },\n "kind": "official-proxy",\n "name": "inspect_native_instruction",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "architecture": {\n "type": "string"\n },\n "bytes": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "flow": {\n "additionalProperties": false,\n "properties": {\n "computed": {\n "type": "boolean"\n },\n "conditional": {\n "type": "boolean"\n },\n "direct_destinations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "kind": {\n "enum": [\n "call",\n "jump",\n "return",\n "fallthrough",\n "terminal",\n "unavailable"\n ],\n "type": "string"\n }\n },\n "required": [\n "kind",\n "conditional",\n "computed",\n "direct_destinations"\n ],\n "type": "object"\n },\n "length": {\n "anyOf": [\n {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "mnemonic": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "mode": {\n "type": "string"\n },\n "operands": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "components": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "bit_width": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "kind": {\n "enum": [\n "register",\n "immediate",\n "address",\n "unknown"\n ],\n "type": "string"\n },\n "text": {\n "type": "string"\n },\n "value": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "kind",\n "text",\n "value",\n "bit_width"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "index": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "memory_addressing": {\n "const": "unavailable",\n "type": "string"\n },\n "provider_type": {\n "maximum": 9007199254740991,\n "minimum": -9007199254740991,\n "type": "integer"\n },\n "raw": {\n "type": "string"\n }\n },\n "required": [\n "index",\n "raw",\n "provider_type",\n "components",\n "memory_addressing"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "procedure": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "raw_disassembly": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "references": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "call": {\n "type": "boolean"\n },\n "computed": {\n "type": "boolean"\n },\n "indirect": {\n "type": "boolean"\n },\n "jump": {\n "type": "boolean"\n },\n "operand_index": {\n "maximum": 9007199254740991,\n "minimum": -9007199254740991,\n "type": "integer"\n },\n "target_address": {\n "type": "string"\n },\n "type": {\n "type": "string"\n }\n },\n "required": [\n "target_address",\n "type",\n "call",\n "jump",\n "indirect",\n "computed",\n "operand_index"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "status": {\n "enum": [\n "decoded",\n "not-instruction-boundary",\n "data",\n "undecodable",\n "outside-memory"\n ],\n "type": "string"\n }\n },\n "required": [\n "address",\n "status",\n "procedure",\n "architecture",\n "mode",\n "bytes",\n "length",\n "mnemonic",\n "raw_disassembly",\n "operands",\n "flow",\n "references",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Inspect Native Instruction"\n },\n {\n "analysisOperation": "resolve_native_call_targets",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Resolve one explicit static call site using typed provider call references. Preserves ambiguous targets as candidates and unresolved computed calls as unknown; does not execute code or traverse a call graph.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "address": "0x1000"\n }\n ],\n "properties": {\n "address": {\n "description": "Value for address.",\n "minLength": 1,\n "type": "string"\n },\n "document": {\n "description": "Exact provider document or program identity.",\n "type": "string"\n }\n },\n "required": [\n "address"\n ],\n "type": "object"\n },\n "kind": "official-proxy",\n "name": "resolve_native_call_targets",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "call_site": {\n "type": "string"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "mechanism": {\n "enum": [\n "direct",\n "computed",\n "indirect",\n "unavailable"\n ],\n "type": "string"\n },\n "procedure": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "enum": [\n "direct",\n "resolved-indirect",\n "ambiguous",\n "unresolved",\n "not-call",\n "unavailable"\n ],\n "type": "string"\n },\n "targets": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "basis": {\n "const": "provider-reference",\n "type": "string"\n },\n "procedure": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "references": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "call": {\n "type": "boolean"\n },\n "computed": {\n "type": "boolean"\n },\n "indirect": {\n "type": "boolean"\n },\n "jump": {\n "type": "boolean"\n },\n "operand_index": {\n "maximum": 9007199254740991,\n "minimum": -9007199254740991,\n "type": "integer"\n },\n "target_address": {\n "type": "string"\n },\n "type": {\n "type": "string"\n }\n },\n "required": [\n "target_address",\n "type",\n "call",\n "jump",\n "indirect",\n "computed",\n "operand_index"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "status": {\n "enum": [\n "direct",\n "resolved-indirect",\n "candidate"\n ],\n "type": "string"\n }\n },\n "required": [\n "address",\n "procedure",\n "status",\n "basis",\n "references"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "call_site",\n "procedure",\n "status",\n "mechanism",\n "targets",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Resolve Native Call Targets"\n },\n {\n "analysisOperation": "address_name",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "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.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {}\n ],\n "properties": {\n "address": {\n "description": "A provider-normalized address; default memory uses 0x-prefixed hexadecimal",\n "type": "string"\n },\n "document": {\n "description": "The document name",\n "type": "string"\n }\n },\n "type": "object"\n },\n "kind": "official-proxy",\n "name": "address_name",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Address Name"\n },\n {\n "analysisOperation": "comment",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "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.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {}\n ],\n "properties": {\n "address": {\n "description": "A provider-normalized address; default memory uses 0x-prefixed hexadecimal",\n "type": "string"\n },\n "document": {\n "description": "The document name",\n "type": "string"\n }\n },\n "type": "object"\n },\n "kind": "official-proxy",\n "name": "comment",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Comment"\n },\n {\n "analysisOperation": "current_address",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Return Hopper\'s current cursor address for the selected document. Use only for interactive navigation state; prefer explicit addresses in reproducible investigations.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {}\n ],\n "properties": {\n "document": {\n "description": "The document name",\n "type": "string"\n }\n },\n "type": "object"\n },\n "kind": "official-proxy",\n "name": "current_address",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "type": "string"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Current Address"\n },\n {\n "analysisOperation": "current_procedure",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Return the analyzed procedure containing Hopper\'s current cursor. This uses GUI cursor state and is not a procedure-name lookup.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {}\n ],\n "properties": {\n "document": {\n "description": "The document name",\n "type": "string"\n }\n },\n "type": "object"\n },\n "kind": "official-proxy",\n "name": "current_procedure",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "type": "string"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Current Procedure"\n },\n {\n "analysisOperation": "current_document",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Return the document currently selected by REA\'s Hopper bridge.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {}\n ],\n "properties": {},\n "type": "object"\n },\n "kind": "official-proxy",\n "name": "current_document",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "type": "string"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Current Document"\n },\n {\n "analysisOperation": "goto_address",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "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.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": true,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {\n "address": "0x1000"\n }\n ],\n "properties": {\n "address": {\n "description": "A provider-normalized address; default memory uses 0x-prefixed hexadecimal",\n "type": "string"\n },\n "document": {\n "description": "The document name",\n "type": "string"\n }\n },\n "required": [\n "address"\n ],\n "type": "object"\n },\n "kind": "official-proxy",\n "name": "goto_address",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "type": "string"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Goto Address"\n },\n {\n "analysisOperation": "inline_comment",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "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.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {}\n ],\n "properties": {\n "address": {\n "description": "A provider-normalized address; default memory uses 0x-prefixed hexadecimal",\n "type": "string"\n },\n "document": {\n "description": "The document name",\n "type": "string"\n }\n },\n "type": "object"\n },\n "kind": "official-proxy",\n "name": "inline_comment",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Inline Comment"\n },\n {\n "analysisOperation": "list_bookmarks",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "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.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {}\n ],\n "properties": {\n "document": {\n "description": "The document name",\n "type": "string"\n }\n },\n "type": "object"\n },\n "kind": "official-proxy",\n "name": "list_bookmarks",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "name": {\n "type": "string"\n }\n },\n "required": [\n "address",\n "name"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "List Bookmarks"\n },\n {\n "analysisOperation": "list_documents",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "List provider program or document identities. Hopper may expose several documents; a Ghidra headless session contains exactly its one imported Program.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {}\n ],\n "properties": {},\n "type": "object"\n },\n "kind": "official-proxy",\n "name": "list_documents",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "items": {\n "type": "string"\n },\n "type": "array"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "List Documents"\n },\n {\n "analysisOperation": "list_names",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "List every analyzed memory and external symbol as address/value pairs. Provider metadata distinguishes Ghidra primary, dynamic, external, type, and source facts when available.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {}\n ],\n "properties": {\n "address": {\n "description": "A provider-normalized address; default memory uses 0x-prefixed hexadecimal",\n "type": "string"\n },\n "document": {\n "description": "The document name",\n "type": "string"\n }\n },\n "type": "object"\n },\n "kind": "official-proxy",\n "name": "list_names",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "procedure": {\n "additionalProperties": false,\n "properties": {\n "external": {\n "type": "boolean"\n },\n "thunk": {\n "type": "boolean"\n },\n "thunk_target": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "external",\n "thunk",\n "thunk_target"\n ],\n "type": "object"\n },\n "string": {\n "additionalProperties": false,\n "properties": {\n "byte_length": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "encoding": {\n "type": "string"\n },\n "termination": {\n "enum": [\n "missing",\n "present_or_not_required"\n ],\n "type": "string"\n }\n },\n "required": [\n "encoding",\n "termination",\n "byte_length"\n ],\n "type": "object"\n },\n "symbol": {\n "additionalProperties": false,\n "properties": {\n "dynamic": {\n "type": "boolean"\n },\n "external": {\n "type": "boolean"\n },\n "primary": {\n "type": "boolean"\n },\n "source": {\n "enum": [\n "default",\n "analysis",\n "ai",\n "imported",\n "user_defined"\n ],\n "type": "string"\n },\n "type": {\n "type": "string"\n }\n },\n "required": [\n "primary",\n "dynamic",\n "external",\n "type",\n "source"\n ],\n "type": "object"\n },\n "value": {\n "type": "string"\n }\n },\n "required": [\n "address",\n "value"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "List Names"\n },\n {\n "analysisOperation": "list_procedures",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "List every analyzed procedure as address/value pairs after provider analysis. Ghidra metadata distinguishes thunks and external functions; use returned addresses in later function operations.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {}\n ],\n "properties": {\n "document": {\n "description": "The document name",\n "type": "string"\n }\n },\n "type": "object"\n },\n "kind": "official-proxy",\n "name": "list_procedures",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "procedure": {\n "additionalProperties": false,\n "properties": {\n "external": {\n "type": "boolean"\n },\n "thunk": {\n "type": "boolean"\n },\n "thunk_target": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "external",\n "thunk",\n "thunk_target"\n ],\n "type": "object"\n },\n "string": {\n "additionalProperties": false,\n "properties": {\n "byte_length": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "encoding": {\n "type": "string"\n },\n "termination": {\n "enum": [\n "missing",\n "present_or_not_required"\n ],\n "type": "string"\n }\n },\n "required": [\n "encoding",\n "termination",\n "byte_length"\n ],\n "type": "object"\n },\n "symbol": {\n "additionalProperties": false,\n "properties": {\n "dynamic": {\n "type": "boolean"\n },\n "external": {\n "type": "boolean"\n },\n "primary": {\n "type": "boolean"\n },\n "source": {\n "enum": [\n "default",\n "analysis",\n "ai",\n "imported",\n "user_defined"\n ],\n "type": "string"\n },\n "type": {\n "type": "string"\n }\n },\n "required": [\n "primary",\n "dynamic",\n "external",\n "type",\n "source"\n ],\n "type": "object"\n },\n "value": {\n "type": "string"\n }\n },\n "required": [\n "address",\n "value"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "List Procedures"\n },\n {\n "analysisOperation": "list_segments",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "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.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {}\n ],\n "properties": {\n "document": {\n "description": "The document name",\n "type": "string"\n }\n },\n "type": "object"\n },\n "kind": "official-proxy",\n "name": "list_segments",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address_space": {\n "type": "string"\n },\n "end": {\n "type": "string"\n },\n "executable": {\n "anyOf": [\n {\n "type": "boolean"\n },\n {\n "type": "null"\n }\n ]\n },\n "image_base": {\n "type": "string"\n },\n "initialized": {\n "type": "boolean"\n },\n "name": {\n "type": "string"\n },\n "overlay": {\n "type": "boolean"\n },\n "permissions": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "reason": {\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "source": {\n "const": "ghidra-memory-block",\n "type": "string"\n }\n },\n "required": [\n "available",\n "source"\n ],\n "type": "object"\n }\n ]\n },\n "provenance": {\n "enum": [\n "hopper-public-python-api",\n "ghidra-memory-block"\n ],\n "type": "string"\n },\n "readable": {\n "anyOf": [\n {\n "type": "boolean"\n },\n {\n "type": "null"\n }\n ]\n },\n "sections": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address_space": {\n "type": "string"\n },\n "end": {\n "type": "string"\n },\n "executable": {\n "anyOf": [\n {\n "type": "boolean"\n },\n {\n "type": "null"\n }\n ]\n },\n "image_base": {\n "type": "string"\n },\n "initialized": {\n "type": "boolean"\n },\n "name": {\n "type": "string"\n },\n "overlay": {\n "type": "boolean"\n },\n "permissions": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "reason": {\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "source": {\n "const": "ghidra-memory-block",\n "type": "string"\n }\n },\n "required": [\n "available",\n "source"\n ],\n "type": "object"\n }\n ]\n },\n "provenance": {\n "enum": [\n "hopper-public-python-api",\n "ghidra-memory-block"\n ],\n "type": "string"\n },\n "readable": {\n "anyOf": [\n {\n "type": "boolean"\n },\n {\n "type": "null"\n }\n ]\n },\n "start": {\n "type": "string"\n },\n "writable": {\n "anyOf": [\n {\n "type": "boolean"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "name",\n "start",\n "end",\n "readable",\n "writable",\n "executable",\n "permissions",\n "provenance"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "start": {\n "type": "string"\n },\n "writable": {\n "anyOf": [\n {\n "type": "boolean"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "name",\n "start",\n "end",\n "readable",\n "writable",\n "executable",\n "permissions",\n "provenance",\n "sections"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "List Segments"\n },\n {\n "analysisOperation": "list_strings",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "List every provider-defined string, or filter to one address, as address/value pairs. Ghidra also reports encoding, terminator status, and byte length.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {}\n ],\n "properties": {\n "address": {\n "description": "A provider-normalized address; default memory uses 0x-prefixed hexadecimal",\n "type": "string"\n },\n "document": {\n "description": "The document name",\n "type": "string"\n }\n },\n "type": "object"\n },\n "kind": "official-proxy",\n "name": "list_strings",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "string": {\n "additionalProperties": false,\n "properties": {\n "byte_length": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "encoding": {\n "minLength": 1,\n "type": "string"\n },\n "termination": {\n "enum": [\n "missing",\n "present_or_not_required"\n ],\n "type": "string"\n }\n },\n "required": [\n "encoding",\n "termination",\n "byte_length"\n ],\n "type": "object"\n },\n "value": {\n "type": "string"\n }\n },\n "required": [\n "address",\n "value"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "List Strings"\n },\n {\n "analysisOperation": "next_address",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "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.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {}\n ],\n "properties": {\n "address": {\n "description": "A provider-normalized address; default memory uses 0x-prefixed hexadecimal",\n "type": "string"\n },\n "document": {\n "description": "The document name",\n "type": "string"\n }\n },\n "type": "object"\n },\n "kind": "official-proxy",\n "name": "next_address",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "type": "string"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Next Address"\n },\n {\n "analysisOperation": "prev_address",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "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.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {}\n ],\n "properties": {\n "address": {\n "description": "A provider-normalized address; default memory uses 0x-prefixed hexadecimal",\n "type": "string"\n },\n "document": {\n "description": "The document name",\n "type": "string"\n }\n },\n "type": "object"\n },\n "kind": "official-proxy",\n "name": "prev_address",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "type": "string"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Prev Address"\n },\n {\n "analysisOperation": "procedure_address",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Resolve an unambiguous procedure symbol name or provider-normalized address to its canonical entry address. External address spaces remain explicit.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {\n "procedure": "main"\n }\n ],\n "properties": {\n "document": {\n "description": "The document name",\n "type": "string"\n },\n "procedure": {\n "description": "The procedure name or address",\n "type": "string"\n }\n },\n "required": [\n "procedure"\n ],\n "type": "object"\n },\n "kind": "official-proxy",\n "name": "procedure_address",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "type": "string"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Procedure Address"\n },\n {\n "analysisOperation": "procedure_assembly",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "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.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {\n "procedure": "main"\n }\n ],\n "properties": {\n "document": {\n "description": "The document name",\n "type": "string"\n },\n "procedure": {\n "description": "The procedure name or address",\n "type": "string"\n }\n },\n "required": [\n "procedure"\n ],\n "type": "object"\n },\n "kind": "official-proxy",\n "name": "procedure_assembly",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "type": "string"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Procedure Assembly"\n },\n {\n "analysisOperation": "procedure_callees",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "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.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {\n "procedure": "main"\n }\n ],\n "properties": {\n "document": {\n "description": "The document name",\n "type": "string"\n },\n "procedure": {\n "description": "The procedure name or address",\n "type": "string"\n }\n },\n "required": [\n "procedure"\n ],\n "type": "object"\n },\n "kind": "official-proxy",\n "name": "procedure_callees",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "items": {\n "type": "string"\n },\n "type": "array"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Procedure Callees"\n },\n {\n "analysisOperation": "procedure_callers",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "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.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {\n "procedure": "main"\n }\n ],\n "properties": {\n "document": {\n "description": "The document name",\n "type": "string"\n },\n "procedure": {\n "description": "The procedure name or address",\n "type": "string"\n }\n },\n "required": [\n "procedure"\n ],\n "type": "object"\n },\n "kind": "official-proxy",\n "name": "procedure_callers",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "items": {\n "type": "string"\n },\n "type": "array"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Procedure Callers"\n },\n {\n "analysisOperation": "procedure_info",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Return provider metadata for one procedure identified by symbol or address: entrypoint, signature, locals, size, block count, and complete inclusive body ranges when observed. Body byte count and enclosing span remain distinct; unavailable extent is explicit.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {\n "procedure": "main"\n }\n ],\n "properties": {\n "document": {\n "description": "The document name",\n "type": "string"\n },\n "procedure": {\n "description": "The procedure name or address",\n "type": "string"\n }\n },\n "required": [\n "procedure"\n ],\n "type": "object"\n },\n "kind": "official-proxy",\n "name": "procedure_info",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "basicblock_count": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "body": {\n "default": {\n "available": false,\n "reason": "The provider did not report complete function body ranges."\n },\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "reason": {\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "contains_entry": {\n "type": "boolean"\n },\n "non_contiguous": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "ranges": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "end": {\n "description": "Inclusive last address of this observed body range.",\n "type": "string"\n },\n "start": {\n "type": "string"\n }\n },\n "required": [\n "start",\n "end"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "span_bytes": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "total_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "available",\n "provenance",\n "ranges",\n "total_bytes",\n "span_bytes",\n "non_contiguous",\n "contains_entry"\n ],\n "type": "object"\n }\n ]\n },\n "classification": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "external": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "thunk": {\n "type": "boolean"\n },\n "thunk_target": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "external",\n "thunk",\n "thunk_target",\n "provenance"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "entrypoint": {\n "type": "string"\n },\n "length": {\n "minimum": 0,\n "type": "number"\n },\n "locals": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "description": {\n "type": "string"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "description",\n "provenance"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "name": {\n "type": "string"\n },\n "signature": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "name",\n "entrypoint",\n "basicblock_count",\n "length",\n "signature",\n "locals",\n "classification",\n "body"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Procedure Info"\n },\n {\n "analysisOperation": "read_function_instructions",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Return every raw instruction for one analyzed procedure. Instruction text is provider-specific.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {\n "procedure": "main"\n }\n ],\n "properties": {\n "document": {\n "description": "The document name",\n "type": "string"\n },\n "procedure": {\n "description": "The procedure name or address",\n "type": "string"\n }\n },\n "required": [\n "procedure"\n ],\n "type": "object"\n },\n "kind": "official-proxy",\n "name": "read_function_instructions",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "instructions": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "procedure": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "body": {\n "default": {\n "available": false,\n "reason": "The provider did not report complete function body ranges."\n },\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "reason": {\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "contains_entry": {\n "type": "boolean"\n },\n "non_contiguous": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "ranges": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "end": {\n "description": "Inclusive last address of this observed body range.",\n "type": "string"\n },\n "start": {\n "type": "string"\n }\n },\n "required": [\n "start",\n "end"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "span_bytes": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "total_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "available",\n "provenance",\n "ranges",\n "total_bytes",\n "span_bytes",\n "non_contiguous",\n "contains_entry"\n ],\n "type": "object"\n }\n ]\n },\n "classification": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "external": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "thunk": {\n "type": "boolean"\n },\n "thunk_target": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "external",\n "thunk",\n "thunk_target",\n "provenance"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "name": {\n "type": "string"\n }\n },\n "required": [\n "address",\n "name",\n "classification",\n "body"\n ],\n "type": "object"\n }\n },\n "required": [\n "procedure",\n "instructions",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Read Function Instructions"\n },\n {\n "analysisOperation": "read_bytes",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Read 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.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {\n "address": "0x1000",\n "length": 16\n }\n ],\n "properties": {\n "address": {\n "description": "A provider-normalized address; default memory uses 0x-prefixed hexadecimal",\n "type": "string"\n },\n "document": {\n "description": "The document name",\n "type": "string"\n },\n "length": {\n "default": 256,\n "description": "Value for length.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "address"\n ],\n "type": "object"\n },\n "kind": "official-proxy",\n "name": "read_bytes",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "bytes_hex": {\n "pattern": "^(?:[a-f0-9]{2})*$",\n "type": "string"\n },\n "complete": {\n "type": "boolean"\n },\n "requested_bytes": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "returned_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "address",\n "requested_bytes",\n "returned_bytes",\n "bytes_hex",\n "complete"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Read Bytes"\n },\n {\n "analysisOperation": "address_to_file_offset",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "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.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {\n "address": "0x1000"\n }\n ],\n "properties": {\n "address": {\n "description": "A provider-normalized address; default memory uses 0x-prefixed hexadecimal",\n "type": "string"\n },\n "document": {\n "description": "The document name",\n "type": "string"\n }\n },\n "required": [\n "address"\n ],\n "type": "object"\n },\n "kind": "official-proxy",\n "name": "address_to_file_offset",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "file_offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "address",\n "file_offset"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Address To File Offset"\n },\n {\n "analysisOperation": "procedure_references",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Return every raw incoming or outgoing reference edge for one procedure. Endpoint procedures are resolved only from provider containment; Ghidra preserves observed reference kinds while providers without kind authority mark them unavailable.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {\n "direction": "outgoing",\n "procedure": "main"\n }\n ],\n "properties": {\n "direction": {\n "default": "outgoing",\n "description": "Direction in which to traverse or compare relationships.",\n "enum": [\n "incoming",\n "outgoing"\n ],\n "type": "string"\n },\n "document": {\n "description": "The document name",\n "type": "string"\n },\n "procedure": {\n "description": "The procedure name or address",\n "type": "string"\n }\n },\n "required": [\n "procedure"\n ],\n "type": "object"\n },\n "kind": "official-proxy",\n "name": "procedure_references",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "direction": {\n "enum": [\n "incoming",\n "outgoing"\n ],\n "type": "string"\n },\n "procedure": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "body": {\n "default": {\n "available": false,\n "reason": "The provider did not report complete function body ranges."\n },\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "reason": {\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "contains_entry": {\n "type": "boolean"\n },\n "non_contiguous": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "ranges": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "end": {\n "description": "Inclusive last address of this observed body range.",\n "type": "string"\n },\n "start": {\n "type": "string"\n }\n },\n "required": [\n "start",\n "end"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "span_bytes": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "total_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "available",\n "provenance",\n "ranges",\n "total_bytes",\n "span_bytes",\n "non_contiguous",\n "contains_entry"\n ],\n "type": "object"\n }\n ]\n },\n "classification": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "external": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "thunk": {\n "type": "boolean"\n },\n "thunk_target": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "external",\n "thunk",\n "thunk_target",\n "provenance"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "name": {\n "type": "string"\n }\n },\n "required": [\n "address",\n "name",\n "classification",\n "body"\n ],\n "type": "object"\n },\n "reference_kinds_available": {\n "type": "boolean"\n },\n "references": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "reason": {\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "call": {\n "type": "boolean"\n },\n "computed": {\n "type": "boolean"\n },\n "conditional": {\n "type": "boolean"\n },\n "data": {\n "type": "boolean"\n },\n "external": {\n "type": "boolean"\n },\n "flow": {\n "type": "boolean"\n },\n "indirect": {\n "type": "boolean"\n },\n "jump": {\n "type": "boolean"\n },\n "operand_index": {\n "maximum": 9007199254740991,\n "minimum": -9007199254740991,\n "type": "integer"\n },\n "primary": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "read": {\n "type": "boolean"\n },\n "terminal": {\n "type": "boolean"\n },\n "type": {\n "type": "string"\n },\n "write": {\n "type": "boolean"\n }\n },\n "required": [\n "available",\n "provenance",\n "type",\n "flow",\n "call",\n "jump",\n "data",\n "read",\n "write",\n "indirect",\n "computed",\n "conditional",\n "terminal",\n "primary",\n "operand_index",\n "external"\n ],\n "type": "object"\n }\n ]\n },\n "source_address": {\n "type": "string"\n },\n "source_procedure": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "body": {\n "default": {\n "available": false,\n "reason": "The provider did not report complete function body ranges."\n },\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "reason": {\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "contains_entry": {\n "type": "boolean"\n },\n "non_contiguous": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "ranges": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "end": {\n "description": "Inclusive last address of this observed body range.",\n "type": "string"\n },\n "start": {\n "type": "string"\n }\n },\n "required": [\n "start",\n "end"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "span_bytes": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "total_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "available",\n "provenance",\n "ranges",\n "total_bytes",\n "span_bytes",\n "non_contiguous",\n "contains_entry"\n ],\n "type": "object"\n }\n ]\n },\n "classification": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "external": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "thunk": {\n "type": "boolean"\n },\n "thunk_target": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "external",\n "thunk",\n "thunk_target",\n "provenance"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "name": {\n "type": "string"\n }\n },\n "required": [\n "address",\n "name",\n "classification",\n "body"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "target_address": {\n "type": "string"\n },\n "target_procedure": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "body": {\n "default": {\n "available": false,\n "reason": "The provider did not report complete function body ranges."\n },\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "reason": {\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "contains_entry": {\n "type": "boolean"\n },\n "non_contiguous": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "ranges": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "end": {\n "description": "Inclusive last address of this observed body range.",\n "type": "string"\n },\n "start": {\n "type": "string"\n }\n },\n "required": [\n "start",\n "end"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "span_bytes": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "total_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "available",\n "provenance",\n "ranges",\n "total_bytes",\n "span_bytes",\n "non_contiguous",\n "contains_entry"\n ],\n "type": "object"\n }\n ]\n },\n "classification": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "external": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "thunk": {\n "type": "boolean"\n },\n "thunk_target": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "external",\n "thunk",\n "thunk_target",\n "provenance"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "name": {\n "type": "string"\n }\n },\n "required": [\n "address",\n "name",\n "classification",\n "body"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "source_address",\n "target_address",\n "source_procedure",\n "target_procedure",\n "kind"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "unresolved_calls": {\n "default": [],\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "reason": {\n "type": "string"\n }\n },\n "required": [\n "address",\n "reason"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "procedure",\n "direction",\n "unresolved_calls",\n "references"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Procedure References"\n },\n {\n "analysisOperation": "procedure_pseudo_code",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "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.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {\n "procedure": "main"\n }\n ],\n "properties": {\n "document": {\n "description": "The document name",\n "type": "string"\n },\n "procedure": {\n "description": "The procedure name or address",\n "type": "string"\n }\n },\n "required": [\n "procedure"\n ],\n "type": "object"\n },\n "kind": "official-proxy",\n "name": "procedure_pseudo_code",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Procedure Pseudo Code"\n },\n {\n "analysisOperation": "resolve_containing_procedure",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "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.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {\n "address": "0x1000"\n }\n ],\n "properties": {\n "address": {\n "description": "A provider-normalized address; default memory uses 0x-prefixed hexadecimal",\n "type": "string"\n },\n "document": {\n "description": "The document name",\n "type": "string"\n }\n },\n "required": [\n "address"\n ],\n "type": "object"\n },\n "kind": "official-proxy",\n "name": "resolve_containing_procedure",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "found": {\n "const": true,\n "type": "boolean"\n },\n "procedure": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "body": {\n "default": {\n "available": false,\n "reason": "The provider did not report complete function body ranges."\n },\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "reason": {\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "contains_entry": {\n "type": "boolean"\n },\n "non_contiguous": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "ranges": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "end": {\n "description": "Inclusive last address of this observed body range.",\n "type": "string"\n },\n "start": {\n "type": "string"\n }\n },\n "required": [\n "start",\n "end"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "span_bytes": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "total_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "available",\n "provenance",\n "ranges",\n "total_bytes",\n "span_bytes",\n "non_contiguous",\n "contains_entry"\n ],\n "type": "object"\n }\n ]\n },\n "classification": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "external": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "thunk": {\n "type": "boolean"\n },\n "thunk_target": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "external",\n "thunk",\n "thunk_target",\n "provenance"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "name": {\n "type": "string"\n }\n },\n "required": [\n "address",\n "name",\n "classification",\n "body"\n ],\n "type": "object"\n },\n "query_address": {\n "type": "string"\n }\n },\n "required": [\n "query_address",\n "found",\n "procedure"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "found": {\n "const": false,\n "type": "boolean"\n },\n "procedure": {\n "type": "null"\n },\n "query_address": {\n "type": "string"\n },\n "reason": {\n "enum": [\n "outside_segments",\n "not_in_procedure"\n ],\n "type": "string"\n }\n },\n "required": [\n "query_address",\n "found",\n "procedure",\n "reason"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Resolve Containing Procedure"\n },\n {\n "analysisOperation": "search_procedures",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Search every analyzed procedure name using literal matching by default or regex when requested. Results are deterministic and complete.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {\n "case_sensitive": false,\n "mode": "literal",\n "pattern": "main"\n }\n ],\n "properties": {\n "case_sensitive": {\n "default": false,\n "description": "Whether to match case",\n "type": "boolean"\n },\n "document": {\n "description": "The document name",\n "type": "string"\n },\n "mode": {\n "default": "literal",\n "description": "Operation mode that selects the requested behavior.",\n "enum": [\n "literal",\n "regex"\n ],\n "type": "string"\n },\n "pattern": {\n "description": "The literal text or regex pattern to search for",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "pattern"\n ],\n "type": "object"\n },\n "kind": "official-proxy",\n "name": "search_procedures",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "value": {\n "type": "string"\n }\n },\n "required": [\n "address",\n "value"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Search Procedures"\n },\n {\n "analysisOperation": "search_strings",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Search every analyzed string using literal matching by default or regex when requested. Results are deterministic and complete.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {\n "case_sensitive": false,\n "mode": "literal",\n "pattern": "authorization failed"\n }\n ],\n "properties": {\n "case_sensitive": {\n "default": false,\n "description": "Whether to match case",\n "type": "boolean"\n },\n "document": {\n "description": "The document name",\n "type": "string"\n },\n "mode": {\n "default": "literal",\n "description": "Operation mode that selects the requested behavior.",\n "enum": [\n "literal",\n "regex"\n ],\n "type": "string"\n },\n "pattern": {\n "description": "The literal text or regex pattern to search for",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "pattern"\n ],\n "type": "object"\n },\n "kind": "official-proxy",\n "name": "search_strings",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "value": {\n "type": "string"\n }\n },\n "required": [\n "address",\n "value"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Search Strings"\n },\n {\n "analysisOperation": "set_address_name",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Assign an analyst name to one hexadecimal address and report Hopper\'s boolean result. This mutates analysis metadata.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": true,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {\n "address": "0x1000",\n "name": "entry"\n }\n ],\n "properties": {\n "address": {\n "description": "A provider-normalized address; default memory uses 0x-prefixed hexadecimal",\n "type": "string"\n },\n "document": {\n "description": "The document name",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "type": "string"\n }\n },\n "required": [\n "address",\n "name"\n ],\n "type": "object"\n },\n "kind": "official-proxy",\n "name": "set_address_name",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "type": "boolean"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Set Address Name"\n },\n {\n "analysisOperation": "set_addresses_names",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Assign analyst names to multiple addresses in one call and return per-address success booleans. This mutates analysis metadata; verify failures individually.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": true,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {\n "names": {\n "0x1000": "entry"\n }\n }\n ],\n "properties": {\n "document": {\n "description": "The document name",\n "type": "string"\n },\n "names": {\n "additionalProperties": {\n "type": "string"\n },\n "description": "Value for names.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n },\n "required": [\n "names"\n ],\n "type": "object"\n },\n "kind": "official-proxy",\n "name": "set_addresses_names",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": {\n "type": "boolean"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Set Addresses Names"\n },\n {\n "analysisOperation": "set_bookmark",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Create or replace a bookmark at a hexadecimal address and report success. This mutates navigation metadata; bookmarks are analyst-authored navigation aids, not binary evidence.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": true,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {\n "address": "0x1000"\n }\n ],\n "properties": {\n "address": {\n "description": "A provider-normalized address; default memory uses 0x-prefixed hexadecimal",\n "type": "string"\n },\n "document": {\n "description": "The document name",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "type": "string"\n }\n },\n "required": [\n "address"\n ],\n "type": "object"\n },\n "kind": "official-proxy",\n "name": "set_bookmark",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "type": "boolean"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Set Bookmark"\n },\n {\n "analysisOperation": "set_comment",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "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.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": true,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {\n "address": "0x1000",\n "comment": "validated entry point"\n }\n ],\n "properties": {\n "address": {\n "description": "A provider-normalized address; default memory uses 0x-prefixed hexadecimal",\n "type": "string"\n },\n "comment": {\n "description": "Exact analyst comment text to write.",\n "type": "string"\n },\n "document": {\n "description": "The document name",\n "type": "string"\n }\n },\n "required": [\n "address",\n "comment"\n ],\n "type": "object"\n },\n "kind": "official-proxy",\n "name": "set_comment",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "type": "boolean"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Set Comment"\n },\n {\n "analysisOperation": "set_current_document",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Select an already-open Hopper document by exact document name. This changes subsequent default-document routing; list_documents can supply names when needed, while explicit document inputs keep calls reproducible.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": true,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {\n "document": "fixture"\n }\n ],\n "properties": {\n "document": {\n "description": "Exact provider document or program identity.",\n "type": "string"\n }\n },\n "required": [\n "document"\n ],\n "type": "object"\n },\n "kind": "official-proxy",\n "name": "set_current_document",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "type": "string"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Set Current Document"\n },\n {\n "analysisOperation": "set_inline_comment",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Write an inline instruction comment at a hexadecimal address and return whether readback matched. This mutates analysis metadata.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": true,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {\n "address": "0x1000",\n "comment": "calls parser"\n }\n ],\n "properties": {\n "address": {\n "description": "A provider-normalized address; default memory uses 0x-prefixed hexadecimal",\n "type": "string"\n },\n "comment": {\n "description": "Exact analyst comment text to write.",\n "type": "string"\n },\n "document": {\n "description": "The document name",\n "type": "string"\n }\n },\n "required": [\n "address",\n "comment"\n ],\n "type": "object"\n },\n "kind": "official-proxy",\n "name": "set_inline_comment",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "type": "boolean"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Set Inline Comment"\n },\n {\n "analysisOperation": "unset_bookmark",\n "annotations": {\n "destructiveHint": true,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Remove the bookmark at a hexadecimal address and return whether it is absent. This mutates navigation metadata and does not alter binary bytes.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": true,\n "mutatesSession": true,\n "mutatesTarget": true,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {\n "address": "0x1000"\n }\n ],\n "properties": {\n "address": {\n "description": "A provider-normalized address; default memory uses 0x-prefixed hexadecimal",\n "type": "string"\n },\n "document": {\n "description": "The document name",\n "type": "string"\n }\n },\n "required": [\n "address"\n ],\n "type": "object"\n },\n "kind": "official-proxy",\n "name": "unset_bookmark",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "type": "boolean"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Unset Bookmark"\n },\n {\n "analysisOperation": "xrefs",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Return analyzed references to a code or data address. Hopper may default to its current cursor; headless providers such as Ghidra require an explicit address. Use to connect strings, globals, selectors, and functions; bare addresses are untyped and indirect references may be incomplete.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {}\n ],\n "properties": {\n "address": {\n "description": "A provider-normalized address; default memory uses 0x-prefixed hexadecimal",\n "type": "string"\n },\n "document": {\n "description": "The document name",\n "type": "string"\n }\n },\n "type": "object"\n },\n "kind": "official-proxy",\n "name": "xrefs",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "items": {\n "type": "string"\n },\n "type": "array"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Xrefs"\n },\n {\n "analysisOperation": "inspect_native_dispatch_metadata",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Inspect the bound provider\'s name inventory for Objective-C class/method symbols and Swift mangled symbols, returning at most max_records decoded names. Includes target SHA-256 when available, provider identity/version, analysis-profile digest, facet coverage, and per-record Evidence. This is symbol-level evidence, not runtime metadata: ivar layouts, protocol conformances, witness/class tables, and relative pointers are explicitly marked unsupported unless a provider supplies those decoders. The provider controls how its name inventory is acquired.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "max_records": 5000\n }\n ],\n "properties": {\n "max_records": {\n "default": 5000,\n "description": "Maximum permitted records for this operation.",\n "maximum": 20000,\n "minimum": 1,\n "type": "integer"\n }\n },\n "type": "object"\n },\n "kind": "enhanced",\n "name": "inspect_native_dispatch_metadata",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile_digest": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "coverage": {\n "default": [],\n "items": {\n "additionalProperties": false,\n "properties": {\n "decoded": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "examined": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "facet": {\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "enum": [\n "complete",\n "partial",\n "unsupported",\n "not_requested"\n ],\n "type": "string"\n }\n },\n "required": [\n "facet",\n "status",\n "reason",\n "examined",\n "decoded"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "db_save_result": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "database_path": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "error": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "operation": {\n "enum": [\n "save",\n "readback",\n "open_database",\n "close_database",\n "export",\n "import"\n ],\n "type": "string"\n },\n "preserved_bookmarks": {\n "default": 0,\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "preserved_comments": {\n "default": 0,\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "preserved_names": {\n "default": 0,\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "succeeded": {\n "type": "boolean"\n }\n },\n "required": [\n "operation",\n "succeeded",\n "preserved_names",\n "preserved_comments",\n "preserved_bookmarks",\n "database_path",\n "error"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "objc_classes": {\n "default": [],\n "items": {\n "additionalProperties": false,\n "properties": {\n "decode": {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "enum": [\n "decoded",\n "partial",\n "unsupported",\n "invalid"\n ],\n "type": "string"\n }\n },\n "required": [\n "status",\n "reason"\n ],\n "type": "object"\n },\n "evidence": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "artifact_path": {\n "type": "string"\n },\n "artifact_sha256": {\n "type": "string"\n },\n "description": {\n "type": "string"\n },\n "kind": {\n "const": "binary_metadata",\n "type": "string"\n },\n "location": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "file_offset": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "address",\n "file_offset"\n ],\n "type": "object"\n }\n },\n "required": [\n "kind",\n "description",\n "location",\n "artifact_path",\n "artifact_sha256"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "instance_size": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "is_meta_class": {\n "default": false,\n "type": "boolean"\n },\n "is_root_class": {\n "default": false,\n "type": "boolean"\n },\n "ivar_count": {\n "default": 0,\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "location": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "file_offset": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "address",\n "file_offset"\n ],\n "type": "object"\n },\n "metaclass_address": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "methods": {\n "default": [],\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": -9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "is_optional": {\n "default": false,\n "type": "boolean"\n },\n "is_required": {\n "default": false,\n "type": "boolean"\n },\n "method_type": {\n "enum": [\n "instance",\n "class",\n "ivar_getter",\n "ivar_setter"\n ],\n "type": "string"\n },\n "selector": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "selector",\n "method_type",\n "address",\n "is_required",\n "is_optional"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "properties": {\n "default": [],\n "items": {\n "additionalProperties": false,\n "properties": {\n "attributes": {\n "default": [],\n "items": {\n "additionalProperties": false,\n "properties": {\n "is_atomic": {\n "default": false,\n "type": "boolean"\n },\n "is_copy": {\n "default": false,\n "type": "boolean"\n },\n "is_strong": {\n "default": false,\n "type": "boolean"\n },\n "is_weak": {\n "default": false,\n "type": "boolean"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "value": {\n "type": "string"\n }\n },\n "required": [\n "name",\n "value",\n "is_weak",\n "is_atomic",\n "is_copy",\n "is_strong"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "getter": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "is_readonly": {\n "default": false,\n "type": "boolean"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "setter": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "type_encoding": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "name",\n "type_encoding",\n "attributes",\n "is_readonly",\n "getter",\n "setter"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "protocols": {\n "default": [],\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "super_class": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "superclass_address": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "name",\n "super_class",\n "is_meta_class",\n "is_root_class",\n "methods",\n "properties",\n "protocols",\n "ivar_count",\n "instance_size"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "objc_dispatch_implementations": {\n "default": [],\n "items": {\n "additionalProperties": false,\n "properties": {\n "class_name": {\n "minLength": 1,\n "type": "string"\n },\n "decode": {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "enum": [\n "decoded",\n "partial",\n "unsupported",\n "invalid"\n ],\n "type": "string"\n }\n },\n "required": [\n "status",\n "reason"\n ],\n "type": "object"\n },\n "evidence": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "artifact_path": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "artifact_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "description": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "enum": [\n "binary_metadata",\n "interface_builder_resource",\n "symbol",\n "reference",\n "decompiler"\n ],\n "type": "string"\n },\n "location": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "file_offset": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "address",\n "file_offset"\n ],\n "type": "object"\n }\n },\n "required": [\n "kind",\n "description",\n "location",\n "artifact_path",\n "artifact_sha256"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "implementation_address": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "location": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "file_offset": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "address",\n "file_offset"\n ],\n "type": "object"\n },\n "method_type": {\n "enum": [\n "instance",\n "class"\n ],\n "type": "string"\n },\n "selector": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "class_name",\n "selector",\n "method_type",\n "implementation_address",\n "location",\n "decode",\n "evidence"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "objc_ivars": {\n "default": [],\n "items": {\n "additionalProperties": false,\n "properties": {\n "alignment": {\n "anyOf": [\n {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "class_name": {\n "minLength": 1,\n "type": "string"\n },\n "decode": {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "enum": [\n "decoded",\n "partial",\n "unsupported",\n "invalid"\n ],\n "type": "string"\n }\n },\n "required": [\n "status",\n "reason"\n ],\n "type": "object"\n },\n "evidence": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "artifact_path": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "artifact_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "description": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "enum": [\n "binary_metadata",\n "interface_builder_resource",\n "symbol",\n "reference",\n "decompiler"\n ],\n "type": "string"\n },\n "location": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "file_offset": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "address",\n "file_offset"\n ],\n "type": "object"\n }\n },\n "required": [\n "kind",\n "description",\n "location",\n "artifact_path",\n "artifact_sha256"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "location": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "file_offset": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "address",\n "file_offset"\n ],\n "type": "object"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "offset": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "size": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "type_encoding": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "class_name",\n "name",\n "type_encoding",\n "offset",\n "size",\n "alignment",\n "location",\n "decode",\n "evidence"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "objc_protocol_records": {\n "default": [],\n "items": {\n "additionalProperties": false,\n "properties": {\n "adopted_protocols": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "decode": {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "enum": [\n "decoded",\n "partial",\n "unsupported",\n "invalid"\n ],\n "type": "string"\n }\n },\n "required": [\n "status",\n "reason"\n ],\n "type": "object"\n },\n "evidence": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "artifact_path": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "artifact_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "description": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "enum": [\n "binary_metadata",\n "interface_builder_resource",\n "symbol",\n "reference",\n "decompiler"\n ],\n "type": "string"\n },\n "location": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "file_offset": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "address",\n "file_offset"\n ],\n "type": "object"\n }\n },\n "required": [\n "kind",\n "description",\n "location",\n "artifact_path",\n "artifact_sha256"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "location": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "file_offset": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "address",\n "file_offset"\n ],\n "type": "object"\n },\n "methods": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": -9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "is_optional": {\n "default": false,\n "type": "boolean"\n },\n "is_required": {\n "default": false,\n "type": "boolean"\n },\n "method_type": {\n "enum": [\n "instance",\n "class",\n "ivar_getter",\n "ivar_setter"\n ],\n "type": "string"\n },\n "selector": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "selector",\n "method_type",\n "address",\n "is_required",\n "is_optional"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "name": {\n "type": "string"\n },\n "optional_methods": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": -9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "is_optional": {\n "default": false,\n "type": "boolean"\n },\n "is_required": {\n "default": false,\n "type": "boolean"\n },\n "method_type": {\n "enum": [\n "instance",\n "class",\n "ivar_getter",\n "ivar_setter"\n ],\n "type": "string"\n },\n "selector": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "selector",\n "method_type",\n "address",\n "is_required",\n "is_optional"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "name",\n "adopted_protocols",\n "methods",\n "optional_methods",\n "location",\n "decode",\n "evidence"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "objc_protocols": {\n "default": [],\n "items": {\n "additionalProperties": false,\n "properties": {\n "methods": {\n "default": [],\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": -9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "is_optional": {\n "default": false,\n "type": "boolean"\n },\n "is_required": {\n "default": false,\n "type": "boolean"\n },\n "method_type": {\n "enum": [\n "instance",\n "class",\n "ivar_getter",\n "ivar_setter"\n ],\n "type": "string"\n },\n "selector": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "selector",\n "method_type",\n "address",\n "is_required",\n "is_optional"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "optional_methods": {\n "default": [],\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": -9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "is_optional": {\n "default": false,\n "type": "boolean"\n },\n "is_required": {\n "default": false,\n "type": "boolean"\n },\n "method_type": {\n "enum": [\n "instance",\n "class",\n "ivar_getter",\n "ivar_setter"\n ],\n "type": "string"\n },\n "selector": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "selector",\n "method_type",\n "address",\n "is_required",\n "is_optional"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "properties": {\n "default": [],\n "items": {\n "additionalProperties": false,\n "properties": {\n "attributes": {\n "default": [],\n "items": {\n "additionalProperties": false,\n "properties": {\n "is_atomic": {\n "default": false,\n "type": "boolean"\n },\n "is_copy": {\n "default": false,\n "type": "boolean"\n },\n "is_strong": {\n "default": false,\n "type": "boolean"\n },\n "is_weak": {\n "default": false,\n "type": "boolean"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "value": {\n "type": "string"\n }\n },\n "required": [\n "name",\n "value",\n "is_weak",\n "is_atomic",\n "is_copy",\n "is_strong"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "getter": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "is_readonly": {\n "default": false,\n "type": "boolean"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "setter": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "type_encoding": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "name",\n "type_encoding",\n "attributes",\n "is_readonly",\n "getter",\n "setter"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "name",\n "methods",\n "optional_methods",\n "properties"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "relative_pointers": {\n "default": [],\n "items": {\n "additionalProperties": false,\n "properties": {\n "decode": {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "enum": [\n "decoded",\n "partial",\n "unsupported",\n "invalid"\n ],\n "type": "string"\n }\n },\n "required": [\n "status",\n "reason"\n ],\n "type": "object"\n },\n "displacement": {\n "maximum": 9007199254740991,\n "minimum": -9007199254740991,\n "type": "integer"\n },\n "evidence": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "artifact_path": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "artifact_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "description": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "enum": [\n "binary_metadata",\n "interface_builder_resource",\n "symbol",\n "reference",\n "decompiler"\n ],\n "type": "string"\n },\n "location": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "file_offset": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "address",\n "file_offset"\n ],\n "type": "object"\n }\n },\n "required": [\n "kind",\n "description",\n "location",\n "artifact_path",\n "artifact_sha256"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "field": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "file_offset": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "address",\n "file_offset"\n ],\n "type": "object"\n },\n "indirect": {\n "anyOf": [\n {\n "type": "boolean"\n },\n {\n "type": "null"\n }\n ]\n },\n "indirectable": {\n "type": "boolean"\n },\n "target": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "file_offset": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "address",\n "file_offset"\n ],\n "type": "object"\n }\n },\n "required": [\n "field",\n "target",\n "displacement",\n "indirectable",\n "indirect",\n "decode",\n "evidence"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "swift_conformances": {\n "default": [],\n "items": {\n "additionalProperties": false,\n "properties": {\n "decode": {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "enum": [\n "decoded",\n "partial",\n "unsupported",\n "invalid"\n ],\n "type": "string"\n }\n },\n "required": [\n "status",\n "reason"\n ],\n "type": "object"\n },\n "evidence": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "artifact_path": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "artifact_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "description": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "enum": [\n "binary_metadata",\n "interface_builder_resource",\n "symbol",\n "reference",\n "decompiler"\n ],\n "type": "string"\n },\n "location": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "file_offset": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "address",\n "file_offset"\n ],\n "type": "object"\n }\n },\n "required": [\n "kind",\n "description",\n "location",\n "artifact_path",\n "artifact_sha256"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "location": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "file_offset": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "address",\n "file_offset"\n ],\n "type": "object"\n },\n "module": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "protocol_name": {\n "minLength": 1,\n "type": "string"\n },\n "type_name": {\n "minLength": 1,\n "type": "string"\n },\n "witness_table": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "file_offset": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "address",\n "file_offset"\n ],\n "type": "object"\n }\n },\n "required": [\n "type_name",\n "protocol_name",\n "module",\n "witness_table",\n "location",\n "decode",\n "evidence"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "swift_decls": {\n "default": [],\n "items": {\n "additionalProperties": false,\n "properties": {\n "access_level": {\n "default": "internal",\n "enum": [\n "private",\n "fileprivate",\n "internal",\n "public",\n "open"\n ],\n "type": "string"\n },\n "is_convenience_init": {\n "default": false,\n "type": "boolean"\n },\n "is_final": {\n "default": false,\n "type": "boolean"\n },\n "is_override": {\n "default": false,\n "type": "boolean"\n },\n "is_required": {\n "default": false,\n "type": "boolean"\n },\n "kind": {\n "enum": [\n "class",\n "struct",\n "enum",\n "protocol",\n "extension",\n "actor",\n "global_var",\n "global_func"\n ],\n "type": "string"\n },\n "module": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "protocols": {\n "default": [],\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "super_class": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "kind",\n "name",\n "module",\n "access_level",\n "super_class",\n "protocols",\n "is_final",\n "is_required",\n "is_convenience_init",\n "is_override"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "swift_dispatch_slots": {\n "default": [],\n "items": {\n "additionalProperties": false,\n "properties": {\n "decode": {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "enum": [\n "decoded",\n "partial",\n "unsupported",\n "invalid"\n ],\n "type": "string"\n }\n },\n "required": [\n "status",\n "reason"\n ],\n "type": "object"\n },\n "evidence": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "artifact_path": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "artifact_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "description": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "enum": [\n "binary_metadata",\n "interface_builder_resource",\n "symbol",\n "reference",\n "decompiler"\n ],\n "type": "string"\n },\n "location": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "file_offset": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "address",\n "file_offset"\n ],\n "type": "object"\n }\n },\n "required": [\n "kind",\n "description",\n "location",\n "artifact_path",\n "artifact_sha256"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "implementation": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "implementation_address": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "location": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "file_offset": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "address",\n "file_offset"\n ],\n "type": "object"\n },\n "owner": {\n "minLength": 1,\n "type": "string"\n },\n "requirement": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "slot_index": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "table_kind": {\n "enum": [\n "witness_table",\n "class_vtable"\n ],\n "type": "string"\n },\n "thunk_address": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "owner",\n "table_kind",\n "slot_index",\n "requirement",\n "implementation",\n "implementation_address",\n "thunk_address",\n "location",\n "decode",\n "evidence"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "swift_symbols": {\n "default": [],\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "decode": {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "enum": [\n "decoded",\n "partial",\n "unsupported",\n "invalid"\n ],\n "type": "string"\n }\n },\n "required": [\n "status",\n "reason"\n ],\n "type": "object"\n },\n "evidence": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "artifact_path": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "artifact_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "description": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "enum": [\n "binary_metadata",\n "interface_builder_resource",\n "symbol",\n "reference",\n "decompiler"\n ],\n "type": "string"\n },\n "location": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "file_offset": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "address",\n "file_offset"\n ],\n "type": "object"\n }\n },\n "required": [\n "kind",\n "description",\n "location",\n "artifact_path",\n "artifact_sha256"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "mangled_name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "mangled_name",\n "address",\n "decode",\n "evidence"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "objc_classes",\n "objc_protocols",\n "swift_decls",\n "objc_ivars",\n "objc_protocol_records",\n "objc_dispatch_implementations",\n "swift_conformances",\n "swift_dispatch_slots",\n "swift_symbols",\n "relative_pointers",\n "coverage",\n "db_save_result"\n ],\n "type": "object"\n },\n "target_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "target_sha256",\n "provider",\n "analysis_profile_digest",\n "result"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Inspect Native Dispatch Metadata"\n },\n {\n "analysisOperation": "get_objc_classes",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Discover and deduplicate Objective-C class labels, optionally filtering by literal substring.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "pattern": ""\n }\n ],\n "properties": {\n "pattern": {\n "default": "",\n "description": "Literal text or regular expression used to filter matching results.",\n "type": "string"\n }\n },\n "type": "object"\n },\n "kind": "enhanced",\n "name": "get_objc_classes",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "classes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "name": {\n "type": "string"\n }\n },\n "required": [\n "address",\n "name"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "count": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "count",\n "classes"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Get Objc Classes"\n },\n {\n "analysisOperation": "get_objc_protocols",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Discover and deduplicate Objective-C and Swift protocol labels.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {}\n ],\n "properties": {},\n "type": "object"\n },\n "kind": "enhanced",\n "name": "get_objc_protocols",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "count": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "protocols": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "name": {\n "type": "string"\n }\n },\n "required": [\n "address",\n "name"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "count",\n "protocols"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Get Objc Protocols"\n },\n {\n "analysisOperation": "batch_decompile",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Decompile each explicit procedure symbol or address concurrently. Returns ordered per-item success or error results and aggregate counts.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "addresses": []\n }\n ],\n "properties": {\n "addresses": {\n "default": [],\n "description": "Ordered provider-normalized procedure addresses to analyze.",\n "items": {\n "description": "A provider-normalized procedure address",\n "type": "string"\n },\n "type": "array"\n }\n },\n "type": "object"\n },\n "kind": "enhanced",\n "name": "batch_decompile",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n },\n "__schema1": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema1"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema1"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema1"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema1"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema1"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema1"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "failed": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "items": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "pseudocode": {\n "minLength": 1,\n "type": "string"\n },\n "status": {\n "const": "ok",\n "type": "string"\n }\n },\n "required": [\n "address",\n "status",\n "pseudocode"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "error": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "invalid_request",\n "type": "string"\n },\n "details": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "unreadable_output",\n "type": "string"\n },\n "details": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "capability_unavailable",\n "type": "string"\n },\n "details": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "provider_unavailable",\n "type": "string"\n },\n "details": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "provider_timeout",\n "type": "string"\n },\n "details": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "cancelled",\n "type": "string"\n },\n "details": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "artifact_integrity_mismatch",\n "type": "string"\n },\n "details": {\n "additionalProperties": false,\n "properties": {\n "calculated_sha256": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "declared_sha256": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "logical_path": {\n "type": "string"\n },\n "unpacked": {\n "type": "boolean"\n }\n },\n "required": [\n "logical_path",\n "declared_sha256",\n "calculated_sha256",\n "unpacked"\n ],\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation",\n "details"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "artifact_operation_failed",\n "type": "string"\n },\n "details": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "evidence_integrity_mismatch",\n "type": "string"\n },\n "details": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "truncated",\n "type": "string"\n },\n "details": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "process_capture_failed",\n "type": "string"\n },\n "details": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "cleanup_incomplete",\n "type": "string"\n },\n "details": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "revision_conflict",\n "type": "string"\n },\n "details": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "configuration_invalid",\n "type": "string"\n },\n "details": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "target_unavailable",\n "type": "string"\n },\n "details": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "execution_failure",\n "type": "string"\n },\n "details": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation"\n ],\n "type": "object"\n }\n ]\n },\n "status": {\n "const": "error",\n "type": "string"\n }\n },\n "required": [\n "address",\n "status",\n "error"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "succeeded": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "total": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "items",\n "total",\n "succeeded",\n "failed"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Batch Decompile"\n },\n {\n "analysisOperation": "get_call_graph",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Traverse the bound provider\'s caller or callee relationships from one symbol or address until the reachable graph is exhausted. 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.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "address": "0x1000",\n "direction": "forward"\n }\n ],\n "properties": {\n "address": {\n "description": "A provider-normalized procedure address",\n "type": "string"\n },\n "direction": {\n "default": "forward",\n "description": "Direction in which to traverse or compare relationships.",\n "enum": [\n "forward",\n "backward"\n ],\n "type": "string"\n }\n },\n "required": [\n "address"\n ],\n "type": "object"\n },\n "kind": "enhanced",\n "name": "get_call_graph",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n },\n "__schema1": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema1"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema1"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema1"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema1"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema1"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema1"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "calls": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "status": {\n "const": "ok",\n "type": "string"\n }\n },\n "required": [\n "address",\n "status",\n "calls"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "error": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "invalid_request",\n "type": "string"\n },\n "details": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "unreadable_output",\n "type": "string"\n },\n "details": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "capability_unavailable",\n "type": "string"\n },\n "details": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "provider_unavailable",\n "type": "string"\n },\n "details": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "provider_timeout",\n "type": "string"\n },\n "details": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "cancelled",\n "type": "string"\n },\n "details": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "artifact_integrity_mismatch",\n "type": "string"\n },\n "details": {\n "additionalProperties": false,\n "properties": {\n "calculated_sha256": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "declared_sha256": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "logical_path": {\n "type": "string"\n },\n "unpacked": {\n "type": "boolean"\n }\n },\n "required": [\n "logical_path",\n "declared_sha256",\n "calculated_sha256",\n "unpacked"\n ],\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation",\n "details"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "artifact_operation_failed",\n "type": "string"\n },\n "details": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "evidence_integrity_mismatch",\n "type": "string"\n },\n "details": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "truncated",\n "type": "string"\n },\n "details": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "process_capture_failed",\n "type": "string"\n },\n "details": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "cleanup_incomplete",\n "type": "string"\n },\n "details": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "revision_conflict",\n "type": "string"\n },\n "details": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "configuration_invalid",\n "type": "string"\n },\n "details": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "target_unavailable",\n "type": "string"\n },\n "details": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "execution_failure",\n "type": "string"\n },\n "details": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation"\n ],\n "type": "object"\n }\n ]\n },\n "status": {\n "const": "error",\n "type": "string"\n }\n },\n "required": [\n "address",\n "status",\n "error"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Get Call Graph"\n },\n {\n "analysisOperation": "analyze_swift_types",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Categorize analyzed procedure names into Swift classes, structs, enums, protocols, extensions, and other symbols. Returns deduplicated names grouped with counts. Optionally select one category and/or apply a case-sensitive literal name filter; for example, use {category: \\"classes\\", pattern: \\"Account\\"} to find matching class symbols.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "category": "classes",\n "pattern": "Account"\n }\n ],\n "properties": {\n "category": {\n "description": "Limit results to one Swift symbol category.",\n "enum": [\n "classes",\n "structs",\n "enums",\n "protocols",\n "extensions",\n "other"\n ],\n "type": "string"\n },\n "pattern": {\n "description": "Case-sensitive literal filter applied to mangled symbol names.",\n "type": "string"\n }\n },\n "type": "object"\n },\n "kind": "enhanced",\n "name": "analyze_swift_types",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "categories": {\n "additionalProperties": {\n "additionalProperties": false,\n "properties": {\n "count": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "items": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "name": {\n "type": "string"\n }\n },\n "required": [\n "address",\n "name"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "count",\n "items"\n ],\n "type": "object"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "total": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "total",\n "categories"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Analyze Swift Types"\n },\n {\n "analysisOperation": "find_xrefs_to_name",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Resolve an exact name against the bound provider\'s name inventory and return a resolved or unresolved result. Unresolved names use the stable name_not_found reason; this xref workflow returns address-only projections.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "name": "malloc"\n }\n ],\n "properties": {\n "name": {\n "description": "Exact name used by this operation.",\n "type": "string"\n }\n },\n "required": [\n "name"\n ],\n "type": "object"\n },\n "kind": "enhanced",\n "name": "find_xrefs_to_name",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "name": {\n "type": "string"\n },\n "status": {\n "const": "resolved",\n "type": "string"\n },\n "xrefs": {\n "items": {\n "type": "string"\n },\n "type": "array"\n }\n },\n "required": [\n "status",\n "name",\n "address",\n "xrefs"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "name": {\n "type": "string"\n },\n "reason": {\n "const": "name_not_found",\n "type": "string"\n },\n "status": {\n "const": "unresolved",\n "type": "string"\n }\n },\n "required": [\n "status",\n "name",\n "reason"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Find Xrefs To Name"\n },\n {\n "analysisOperation": "binary_overview",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Return native-binary metadata, every segment with its length, and exhaustive procedure/string counts. Use search_procedures, list_procedures, or analyze_function directly when you already know which procedure to inspect.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {}\n ],\n "properties": {},\n "type": "object"\n },\n "kind": "enhanced",\n "name": "binary_overview",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "document": {\n "type": "string"\n },\n "procedure_count": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "segment_count": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "segments": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "end": {\n "type": "string"\n },\n "length": {\n "minimum": 0,\n "type": "number"\n },\n "name": {\n "type": "string"\n },\n "start": {\n "type": "string"\n }\n },\n "required": [\n "name",\n "start",\n "end",\n "length"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "string_count": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "document",\n "segments",\n "segment_count",\n "procedure_count",\n "string_count"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Binary Overview"\n },\n {\n "analysisOperation": "analyze_function",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Build a dossier for one native function identified by symbol or provider-returned address. Returns identity with complete inclusive body ranges or explicit unknown, provider-specific pseudocode and assembly, comments, calls, references, referenced strings/names, local CFG blocks, and available native API boundary observations.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "procedure": "main"\n }\n ],\n "properties": {\n "procedure": {\n "description": "A procedure name or address",\n "type": "string"\n }\n },\n "required": [\n "procedure"\n ],\n "type": "object"\n },\n "kind": "enhanced",\n "name": "analyze_function",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "assembly": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "basic_blocks": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "end": {\n "type": "string"\n },\n "start": {\n "type": "string"\n },\n "successors": {\n "items": {\n "type": "string"\n },\n "type": "array"\n }\n },\n "required": [\n "start",\n "end",\n "successors"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "callees": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "body": {\n "default": {\n "available": false,\n "reason": "The provider did not report complete function body ranges."\n },\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "reason": {\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "contains_entry": {\n "type": "boolean"\n },\n "non_contiguous": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "ranges": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "end": {\n "description": "Inclusive last address of this observed body range.",\n "type": "string"\n },\n "start": {\n "type": "string"\n }\n },\n "required": [\n "start",\n "end"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "span_bytes": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "total_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "available",\n "provenance",\n "ranges",\n "total_bytes",\n "span_bytes",\n "non_contiguous",\n "contains_entry"\n ],\n "type": "object"\n }\n ]\n },\n "classification": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "external": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "thunk": {\n "type": "boolean"\n },\n "thunk_target": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "external",\n "thunk",\n "thunk_target",\n "provenance"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "name": {\n "type": "string"\n }\n },\n "required": [\n "address",\n "name",\n "classification",\n "body"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "callers": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "body": {\n "default": {\n "available": false,\n "reason": "The provider did not report complete function body ranges."\n },\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "reason": {\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "contains_entry": {\n "type": "boolean"\n },\n "non_contiguous": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "ranges": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "end": {\n "description": "Inclusive last address of this observed body range.",\n "type": "string"\n },\n "start": {\n "type": "string"\n }\n },\n "required": [\n "start",\n "end"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "span_bytes": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "total_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "available",\n "provenance",\n "ranges",\n "total_bytes",\n "span_bytes",\n "non_contiguous",\n "contains_entry"\n ],\n "type": "object"\n }\n ]\n },\n "classification": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "external": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "thunk": {\n "type": "boolean"\n },\n "thunk_target": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "external",\n "thunk",\n "thunk_target",\n "provenance"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "name": {\n "type": "string"\n }\n },\n "required": [\n "address",\n "name",\n "classification",\n "body"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "comments": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "kind": {\n "enum": [\n "comment",\n "inline"\n ],\n "type": "string"\n },\n "text": {\n "type": "string"\n }\n },\n "required": [\n "address",\n "kind",\n "text"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "incoming_references": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "reason": {\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "call": {\n "type": "boolean"\n },\n "computed": {\n "type": "boolean"\n },\n "conditional": {\n "type": "boolean"\n },\n "data": {\n "type": "boolean"\n },\n "external": {\n "type": "boolean"\n },\n "flow": {\n "type": "boolean"\n },\n "indirect": {\n "type": "boolean"\n },\n "jump": {\n "type": "boolean"\n },\n "operand_index": {\n "maximum": 9007199254740991,\n "minimum": -9007199254740991,\n "type": "integer"\n },\n "primary": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "read": {\n "type": "boolean"\n },\n "terminal": {\n "type": "boolean"\n },\n "type": {\n "type": "string"\n },\n "write": {\n "type": "boolean"\n }\n },\n "required": [\n "available",\n "provenance",\n "type",\n "flow",\n "call",\n "jump",\n "data",\n "read",\n "write",\n "indirect",\n "computed",\n "conditional",\n "terminal",\n "primary",\n "operand_index",\n "external"\n ],\n "type": "object"\n }\n ]\n },\n "source_address": {\n "type": "string"\n },\n "source_procedure": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "body": {\n "default": {\n "available": false,\n "reason": "The provider did not report complete function body ranges."\n },\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "reason": {\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "contains_entry": {\n "type": "boolean"\n },\n "non_contiguous": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "ranges": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "end": {\n "description": "Inclusive last address of this observed body range.",\n "type": "string"\n },\n "start": {\n "type": "string"\n }\n },\n "required": [\n "start",\n "end"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "span_bytes": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "total_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "available",\n "provenance",\n "ranges",\n "total_bytes",\n "span_bytes",\n "non_contiguous",\n "contains_entry"\n ],\n "type": "object"\n }\n ]\n },\n "classification": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "external": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "thunk": {\n "type": "boolean"\n },\n "thunk_target": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "external",\n "thunk",\n "thunk_target",\n "provenance"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "name": {\n "type": "string"\n }\n },\n "required": [\n "address",\n "name",\n "classification",\n "body"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "target_address": {\n "type": "string"\n },\n "target_procedure": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "body": {\n "default": {\n "available": false,\n "reason": "The provider did not report complete function body ranges."\n },\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "reason": {\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "contains_entry": {\n "type": "boolean"\n },\n "non_contiguous": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "ranges": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "end": {\n "description": "Inclusive last address of this observed body range.",\n "type": "string"\n },\n "start": {\n "type": "string"\n }\n },\n "required": [\n "start",\n "end"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "span_bytes": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "total_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "available",\n "provenance",\n "ranges",\n "total_bytes",\n "span_bytes",\n "non_contiguous",\n "contains_entry"\n ],\n "type": "object"\n }\n ]\n },\n "classification": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "external": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "thunk": {\n "type": "boolean"\n },\n "thunk_target": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "external",\n "thunk",\n "thunk_target",\n "provenance"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "name": {\n "type": "string"\n }\n },\n "required": [\n "address",\n "name",\n "classification",\n "body"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "source_address",\n "target_address",\n "source_procedure",\n "target_procedure",\n "kind"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "limitations": {\n "default": [],\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "native_api": {\n "anyOf": [\n {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "reason": {\n "minLength": 1,\n "type": "string"\n },\n "residual_unknowns": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "available",\n "reason",\n "residual_unknowns"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "calling_convention": {\n "minLength": 1,\n "type": "string"\n },\n "decompiler_artifacts": {\n "items": {\n "enum": [\n "recovered-signature",\n "register-and-stack-variables",\n "compiler-generated-control-flow",\n "pointer-arithmetic",\n "pseudocode"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "jump_tables": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "data_sources": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "confidence": {\n "enum": [\n "low",\n "medium",\n "high"\n ],\n "type": "string"\n },\n "entry_count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "entry_size_bytes": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "enum": [\n "signature-source",\n "decompiler-type",\n "type-lock",\n "calling-convention",\n "jump-table"\n ],\n "type": "string"\n },\n "source": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "source",\n "detail"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "provenance": {\n "enum": [\n "ghidra-decompiler-load-table",\n "ghidra-dispatch-block-data-reference",\n "ghidra-aarch64-byte-table",\n "ghidra-aarch64-halfword-table"\n ],\n "type": "string"\n }\n },\n "required": [\n "address",\n "provenance",\n "entry_size_bytes",\n "entry_count",\n "confidence",\n "evidence"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "default_targets": {\n "default": [],\n "items": {\n "additionalProperties": false,\n "properties": {\n "confidence": {\n "enum": [\n "low",\n "medium",\n "high"\n ],\n "type": "string"\n },\n "evidence": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "enum": [\n "signature-source",\n "decompiler-type",\n "type-lock",\n "calling-convention",\n "jump-table"\n ],\n "type": "string"\n },\n "source": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "source",\n "detail"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "target_address": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "target_address",\n "confidence",\n "evidence"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "dispatch_address": {\n "minLength": 1,\n "type": "string"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "mappings": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "case_value": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": -9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "confidence": {\n "enum": [\n "low",\n "medium",\n "high"\n ],\n "type": "string"\n },\n "evidence": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "enum": [\n "signature-source",\n "decompiler-type",\n "type-lock",\n "calling-convention",\n "jump-table"\n ],\n "type": "string"\n },\n "source": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "source",\n "detail"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "target_address": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "case_value",\n "target_address",\n "confidence",\n "evidence"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "dispatch_address",\n "data_sources",\n "mappings",\n "default_targets",\n "limitations"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "parameters": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "confidence": {\n "enum": [\n "low",\n "medium",\n "high"\n ],\n "type": "string"\n },\n "data_type": {\n "minLength": 1,\n "type": "string"\n },\n "decompiler_artifacts": {\n "items": {\n "enum": [\n "recovered-signature",\n "register-or-stack-storage",\n "compiler-generated-variable"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "evidence": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "enum": [\n "signature-source",\n "decompiler-type",\n "type-lock",\n "calling-convention",\n "jump-table"\n ],\n "type": "string"\n },\n "source": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "source",\n "detail"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "name": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "ordinal": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "role": {\n "const": "parameter",\n "type": "string"\n },\n "size_bytes": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "storage": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "ordinal",\n "name",\n "data_type",\n "size_bytes",\n "storage",\n "confidence",\n "evidence",\n "decompiler_artifacts",\n "role"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "pseudocode": {\n "additionalProperties": false,\n "properties": {\n "classification": {\n "const": "decompiler-generated-non-source",\n "type": "string"\n },\n "compilable": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "classification",\n "compilable"\n ],\n "type": "object"\n },\n "return_type": {\n "additionalProperties": false,\n "properties": {\n "confidence": {\n "enum": [\n "low",\n "medium",\n "high"\n ],\n "type": "string"\n },\n "data_type": {\n "minLength": 1,\n "type": "string"\n },\n "decompiler_artifacts": {\n "items": {\n "enum": [\n "recovered-signature",\n "register-or-stack-storage",\n "compiler-generated-variable"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "evidence": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "enum": [\n "signature-source",\n "decompiler-type",\n "type-lock",\n "calling-convention",\n "jump-table"\n ],\n "type": "string"\n },\n "source": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "source",\n "detail"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "name": {\n "type": "null"\n },\n "ordinal": {\n "type": "null"\n },\n "role": {\n "const": "return",\n "type": "string"\n },\n "size_bytes": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "storage": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "ordinal",\n "name",\n "data_type",\n "size_bytes",\n "storage",\n "confidence",\n "evidence",\n "decompiler_artifacts",\n "role"\n ],\n "type": "object"\n },\n "signature_source": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "available",\n "provenance",\n "signature_source",\n "calling_convention",\n "return_type",\n "parameters",\n "jump_tables",\n "pseudocode",\n "decompiler_artifacts",\n "limitations"\n ],\n "type": "object"\n }\n ]\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "native_value_flow": {\n "anyOf": [\n {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "def_use": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "definition": {\n "minLength": 1,\n "type": "string"\n },\n "input_index": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "use": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "definition",\n "use",\n "input_index"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "effects": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "enum": [\n "memory_read",\n "memory_write",\n "conditional_branch",\n "indirect_branch",\n "direct_call",\n "indirect_call"\n ],\n "type": "string"\n },\n "operand_input": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "value_input": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "operation",\n "kind",\n "operand_input",\n "value_input"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "known_omitted_edges": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "known_omitted_inputs": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "omitted_operations_lower_bound": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "operations": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "block_membership": {\n "default": "unavailable",\n "enum": [\n "member",\n "detached",\n "unavailable"\n ],\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "inputs": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "constant_hex": {\n "anyOf": [\n {\n "pattern": "^[0-9a-f]+$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "kind": {\n "enum": [\n "constant",\n "address",\n "register",\n "unique",\n "other"\n ],\n "type": "string"\n },\n "location": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "size_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "size_bytes",\n "location",\n "constant_hex"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "is_dead": {\n "type": "boolean"\n },\n "opcode": {\n "minLength": 1,\n "type": "string"\n },\n "output": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "constant_hex": {\n "anyOf": [\n {\n "pattern": "^[0-9a-f]+$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "kind": {\n "enum": [\n "constant",\n "address",\n "register",\n "unique",\n "other"\n ],\n "type": "string"\n },\n "location": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "size_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "size_bytes",\n "location",\n "constant_hex"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "sequence": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "id",\n "address",\n "sequence",\n "opcode",\n "is_dead",\n "block_membership",\n "inputs",\n "output"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "parameter_uses": {\n "default": [],\n "items": {\n "additionalProperties": false,\n "properties": {\n "input_index": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "ordinal": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "use": {\n "type": "string"\n }\n },\n "required": [\n "ordinal",\n "use",\n "input_index"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "parameters": {\n "default": [],\n "items": {\n "additionalProperties": false,\n "properties": {\n "data_type": {\n "type": "string"\n },\n "name": {\n "type": "string"\n },\n "ordinal": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "ordinal",\n "name",\n "data_type"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "provenance": {\n "const": "ghidra-high-pcode",\n "type": "string"\n },\n "truncated": {\n "type": "boolean"\n }\n },\n "required": [\n "available",\n "provenance",\n "operations",\n "def_use",\n "effects",\n "parameters",\n "parameter_uses",\n "truncated",\n "omitted_operations_lower_bound",\n "known_omitted_inputs",\n "known_omitted_edges",\n "limitations"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "reason": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason",\n "limitations"\n ],\n "type": "object"\n }\n ]\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "outgoing_references": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "reason": {\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "call": {\n "type": "boolean"\n },\n "computed": {\n "type": "boolean"\n },\n "conditional": {\n "type": "boolean"\n },\n "data": {\n "type": "boolean"\n },\n "external": {\n "type": "boolean"\n },\n "flow": {\n "type": "boolean"\n },\n "indirect": {\n "type": "boolean"\n },\n "jump": {\n "type": "boolean"\n },\n "operand_index": {\n "maximum": 9007199254740991,\n "minimum": -9007199254740991,\n "type": "integer"\n },\n "primary": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "read": {\n "type": "boolean"\n },\n "terminal": {\n "type": "boolean"\n },\n "type": {\n "type": "string"\n },\n "write": {\n "type": "boolean"\n }\n },\n "required": [\n "available",\n "provenance",\n "type",\n "flow",\n "call",\n "jump",\n "data",\n "read",\n "write",\n "indirect",\n "computed",\n "conditional",\n "terminal",\n "primary",\n "operand_index",\n "external"\n ],\n "type": "object"\n }\n ]\n },\n "source_address": {\n "type": "string"\n },\n "source_procedure": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "body": {\n "default": {\n "available": false,\n "reason": "The provider did not report complete function body ranges."\n },\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "reason": {\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "contains_entry": {\n "type": "boolean"\n },\n "non_contiguous": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "ranges": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "end": {\n "description": "Inclusive last address of this observed body range.",\n "type": "string"\n },\n "start": {\n "type": "string"\n }\n },\n "required": [\n "start",\n "end"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "span_bytes": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "total_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "available",\n "provenance",\n "ranges",\n "total_bytes",\n "span_bytes",\n "non_contiguous",\n "contains_entry"\n ],\n "type": "object"\n }\n ]\n },\n "classification": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "external": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "thunk": {\n "type": "boolean"\n },\n "thunk_target": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "external",\n "thunk",\n "thunk_target",\n "provenance"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "name": {\n "type": "string"\n }\n },\n "required": [\n "address",\n "name",\n "classification",\n "body"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "target_address": {\n "type": "string"\n },\n "target_procedure": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "body": {\n "default": {\n "available": false,\n "reason": "The provider did not report complete function body ranges."\n },\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "reason": {\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "contains_entry": {\n "type": "boolean"\n },\n "non_contiguous": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "ranges": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "end": {\n "description": "Inclusive last address of this observed body range.",\n "type": "string"\n },\n "start": {\n "type": "string"\n }\n },\n "required": [\n "start",\n "end"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "span_bytes": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "total_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "available",\n "provenance",\n "ranges",\n "total_bytes",\n "span_bytes",\n "non_contiguous",\n "contains_entry"\n ],\n "type": "object"\n }\n ]\n },\n "classification": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "external": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "thunk": {\n "type": "boolean"\n },\n "thunk_target": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "external",\n "thunk",\n "thunk_target",\n "provenance"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "name": {\n "type": "string"\n }\n },\n "required": [\n "address",\n "name",\n "classification",\n "body"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "source_address",\n "target_address",\n "source_procedure",\n "target_procedure",\n "kind"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "procedure": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "body": {\n "default": {\n "available": false,\n "reason": "The provider did not report complete function body ranges."\n },\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "reason": {\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "contains_entry": {\n "type": "boolean"\n },\n "non_contiguous": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "ranges": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "end": {\n "description": "Inclusive last address of this observed body range.",\n "type": "string"\n },\n "start": {\n "type": "string"\n }\n },\n "required": [\n "start",\n "end"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "span_bytes": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "total_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "available",\n "provenance",\n "ranges",\n "total_bytes",\n "span_bytes",\n "non_contiguous",\n "contains_entry"\n ],\n "type": "object"\n }\n ]\n },\n "classification": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "external": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "thunk": {\n "type": "boolean"\n },\n "thunk_target": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "external",\n "thunk",\n "thunk_target",\n "provenance"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "locals": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "description": {\n "type": "string"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "description",\n "provenance"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "name": {\n "type": "string"\n },\n "signature": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "address",\n "name",\n "classification",\n "body",\n "signature",\n "locals"\n ],\n "type": "object"\n },\n "pseudocode": {\n "type": "string"\n },\n "referenced_names": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "source_address": {\n "type": "string"\n },\n "value": {\n "type": "string"\n }\n },\n "required": [\n "address",\n "value",\n "source_address"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "referenced_strings": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "source_address": {\n "type": "string"\n },\n "value": {\n "type": "string"\n }\n },\n "required": [\n "address",\n "value",\n "source_address"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "procedure",\n "pseudocode",\n "assembly",\n "comments",\n "callers",\n "callees",\n "incoming_references",\n "outgoing_references",\n "referenced_strings",\n "referenced_names",\n "basic_blocks",\n "native_api",\n "native_value_flow",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Analyze Function"\n },\n {\n "analysisOperation": "inspect_native_api",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": false,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Analyze a native API boundary in one function identified by symbol or provider-returned address. Returns confidence, evidence, jump-table dispatch/data/case mappings, separately evidenced default targets, unsupported branches, and residual unknowns. Null case values mean unresolved cases, never a known default.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": false,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "procedure": "main"\n }\n ],\n "properties": {\n "procedure": {\n "description": "A procedure name or address",\n "type": "string"\n }\n },\n "required": [\n "procedure"\n ],\n "type": "object"\n },\n "kind": "enhanced",\n "name": "inspect_native_api",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "boundary": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "reason": {\n "minLength": 1,\n "type": "string"\n },\n "residual_unknowns": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "available",\n "reason",\n "residual_unknowns"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "calling_convention": {\n "minLength": 1,\n "type": "string"\n },\n "decompiler_artifacts": {\n "items": {\n "enum": [\n "recovered-signature",\n "register-and-stack-variables",\n "compiler-generated-control-flow",\n "pointer-arithmetic",\n "pseudocode"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "jump_tables": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "data_sources": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "confidence": {\n "enum": [\n "low",\n "medium",\n "high"\n ],\n "type": "string"\n },\n "entry_count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "entry_size_bytes": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "enum": [\n "signature-source",\n "decompiler-type",\n "type-lock",\n "calling-convention",\n "jump-table"\n ],\n "type": "string"\n },\n "source": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "source",\n "detail"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "provenance": {\n "enum": [\n "ghidra-decompiler-load-table",\n "ghidra-dispatch-block-data-reference",\n "ghidra-aarch64-byte-table",\n "ghidra-aarch64-halfword-table"\n ],\n "type": "string"\n }\n },\n "required": [\n "address",\n "provenance",\n "entry_size_bytes",\n "entry_count",\n "confidence",\n "evidence"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "default_targets": {\n "default": [],\n "items": {\n "additionalProperties": false,\n "properties": {\n "confidence": {\n "enum": [\n "low",\n "medium",\n "high"\n ],\n "type": "string"\n },\n "evidence": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "enum": [\n "signature-source",\n "decompiler-type",\n "type-lock",\n "calling-convention",\n "jump-table"\n ],\n "type": "string"\n },\n "source": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "source",\n "detail"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "target_address": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "target_address",\n "confidence",\n "evidence"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "dispatch_address": {\n "minLength": 1,\n "type": "string"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "mappings": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "case_value": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": -9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "confidence": {\n "enum": [\n "low",\n "medium",\n "high"\n ],\n "type": "string"\n },\n "evidence": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "enum": [\n "signature-source",\n "decompiler-type",\n "type-lock",\n "calling-convention",\n "jump-table"\n ],\n "type": "string"\n },\n "source": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "source",\n "detail"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "target_address": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "case_value",\n "target_address",\n "confidence",\n "evidence"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "dispatch_address",\n "data_sources",\n "mappings",\n "default_targets",\n "limitations"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "parameters": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "confidence": {\n "enum": [\n "low",\n "medium",\n "high"\n ],\n "type": "string"\n },\n "data_type": {\n "minLength": 1,\n "type": "string"\n },\n "decompiler_artifacts": {\n "items": {\n "enum": [\n "recovered-signature",\n "register-or-stack-storage",\n "compiler-generated-variable"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "evidence": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "enum": [\n "signature-source",\n "decompiler-type",\n "type-lock",\n "calling-convention",\n "jump-table"\n ],\n "type": "string"\n },\n "source": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "source",\n "detail"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "name": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "ordinal": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "role": {\n "const": "parameter",\n "type": "string"\n },\n "size_bytes": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "storage": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "ordinal",\n "name",\n "data_type",\n "size_bytes",\n "storage",\n "confidence",\n "evidence",\n "decompiler_artifacts",\n "role"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "pseudocode": {\n "additionalProperties": false,\n "properties": {\n "classification": {\n "const": "decompiler-generated-non-source",\n "type": "string"\n },\n "compilable": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "classification",\n "compilable"\n ],\n "type": "object"\n },\n "return_type": {\n "additionalProperties": false,\n "properties": {\n "confidence": {\n "enum": [\n "low",\n "medium",\n "high"\n ],\n "type": "string"\n },\n "data_type": {\n "minLength": 1,\n "type": "string"\n },\n "decompiler_artifacts": {\n "items": {\n "enum": [\n "recovered-signature",\n "register-or-stack-storage",\n "compiler-generated-variable"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "evidence": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "enum": [\n "signature-source",\n "decompiler-type",\n "type-lock",\n "calling-convention",\n "jump-table"\n ],\n "type": "string"\n },\n "source": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "source",\n "detail"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "name": {\n "type": "null"\n },\n "ordinal": {\n "type": "null"\n },\n "role": {\n "const": "return",\n "type": "string"\n },\n "size_bytes": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "storage": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "ordinal",\n "name",\n "data_type",\n "size_bytes",\n "storage",\n "confidence",\n "evidence",\n "decompiler_artifacts",\n "role"\n ],\n "type": "object"\n },\n "signature_source": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "available",\n "provenance",\n "signature_source",\n "calling_convention",\n "return_type",\n "parameters",\n "jump_tables",\n "pseudocode",\n "decompiler_artifacts",\n "limitations"\n ],\n "type": "object"\n }\n ]\n },\n "procedure": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "address",\n "name"\n ],\n "type": "object"\n },\n "residual_unknowns": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "substeps": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "observations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "operation": {\n "enum": [\n "analyze_function",\n "project_native_api_boundary",\n "preserve_residual_unknowns"\n ],\n "type": "string"\n },\n "status": {\n "enum": [\n "completed",\n "unsupported"\n ],\n "type": "string"\n }\n },\n "required": [\n "operation",\n "status",\n "observations"\n ],\n "type": "object"\n },\n "maxItems": 3,\n "minItems": 3,\n "type": "array"\n },\n "unsupported_branches": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n }\n },\n "required": [\n "procedure",\n "boundary",\n "substeps",\n "unsupported_branches",\n "residual_unknowns"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Inspect Native Api"\n },\n {\n "analysisOperation": "trace_feature",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": false,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Trace a literal feature query through every matching string and procedure, their xrefs, and truthful containing-procedure resolution. Returns observations, operation count, and residual unknowns without inferring reference kinds.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": false,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "case_sensitive": false,\n "query": "license"\n }\n ],\n "properties": {\n "case_sensitive": {\n "default": false,\n "description": "Whether text matching distinguishes uppercase and lowercase.",\n "type": "boolean"\n },\n "query": {\n "description": "Non-empty feature or text query to investigate.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "query"\n ],\n "type": "object"\n },\n "kind": "enhanced",\n "name": "trace_feature",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "matches": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "type": {\n "enum": [\n "string",\n "procedure"\n ],\n "type": "string"\n },\n "value": {\n "type": "string"\n }\n },\n "required": [\n "type",\n "address",\n "value"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "query": {\n "type": "string"\n },\n "references": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "containing_procedure": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "found": {\n "const": true,\n "type": "boolean"\n },\n "procedure": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "body": {\n "default": {\n "available": false,\n "reason": "The provider did not report complete function body ranges."\n },\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "reason": {\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "contains_entry": {\n "type": "boolean"\n },\n "non_contiguous": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "ranges": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "end": {\n "description": "Inclusive last address of this observed body range.",\n "type": "string"\n },\n "start": {\n "type": "string"\n }\n },\n "required": [\n "start",\n "end"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "span_bytes": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "total_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "available",\n "provenance",\n "ranges",\n "total_bytes",\n "span_bytes",\n "non_contiguous",\n "contains_entry"\n ],\n "type": "object"\n }\n ]\n },\n "classification": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "external": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "thunk": {\n "type": "boolean"\n },\n "thunk_target": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "external",\n "thunk",\n "thunk_target",\n "provenance"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "name": {\n "type": "string"\n }\n },\n "required": [\n "address",\n "name",\n "classification",\n "body"\n ],\n "type": "object"\n },\n "query_address": {\n "type": "string"\n }\n },\n "required": [\n "query_address",\n "found",\n "procedure"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "found": {\n "const": false,\n "type": "boolean"\n },\n "procedure": {\n "type": "null"\n },\n "query_address": {\n "type": "string"\n },\n "reason": {\n "enum": [\n "outside_segments",\n "not_in_procedure"\n ],\n "type": "string"\n }\n },\n "required": [\n "query_address",\n "found",\n "procedure",\n "reason"\n ],\n "type": "object"\n }\n ]\n },\n "source_address": {\n "type": "string"\n },\n "target_address": {\n "type": "string"\n }\n },\n "required": [\n "target_address",\n "source_address",\n "containing_procedure"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "residual_unknowns": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "search_mode": {\n "const": "literal",\n "type": "string"\n },\n "truncated": {\n "type": "boolean"\n }\n },\n "required": [\n "query",\n "search_mode",\n "matches",\n "references",\n "truncated",\n "residual_unknowns"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Trace Feature"\n },\n {\n "analysisOperation": "trace_call_path",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": false,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Trace direct callers or callees from one exact procedure address until the graph is exhausted or the optional goal is reached. Returns visited nodes, direct-call edges, a shortest traversal path, provider failures, and residual unknowns; unresolved indirect calls remain unknown.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": false,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "direction": "forward",\n "goal": "0x1100",\n "start": "0x1000"\n }\n ],\n "properties": {\n "direction": {\n "default": "forward",\n "description": "Direction in which to traverse or compare relationships.",\n "enum": [\n "forward",\n "backward"\n ],\n "type": "string"\n },\n "goal": {\n "description": "An optional provider-normalized destination address",\n "type": "string"\n },\n "start": {\n "description": "A provider-normalized procedure address",\n "type": "string"\n }\n },\n "required": [\n "start"\n ],\n "type": "object"\n },\n "kind": "enhanced",\n "name": "trace_call_path",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n },\n "__schema1": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema1"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema1"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema1"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema1"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema1"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema1"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "direction": {\n "enum": [\n "forward",\n "backward"\n ],\n "type": "string"\n },\n "edges": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "discovery_depth": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "source_address": {\n "type": "string"\n },\n "target_address": {\n "type": "string"\n }\n },\n "required": [\n "source_address",\n "target_address",\n "discovery_depth"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "failures": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "error": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "invalid_request",\n "type": "string"\n },\n "details": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "unreadable_output",\n "type": "string"\n },\n "details": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "capability_unavailable",\n "type": "string"\n },\n "details": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "provider_unavailable",\n "type": "string"\n },\n "details": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "provider_timeout",\n "type": "string"\n },\n "details": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "cancelled",\n "type": "string"\n },\n "details": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "artifact_integrity_mismatch",\n "type": "string"\n },\n "details": {\n "additionalProperties": false,\n "properties": {\n "calculated_sha256": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "declared_sha256": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "logical_path": {\n "type": "string"\n },\n "unpacked": {\n "type": "boolean"\n }\n },\n "required": [\n "logical_path",\n "declared_sha256",\n "calculated_sha256",\n "unpacked"\n ],\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation",\n "details"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "artifact_operation_failed",\n "type": "string"\n },\n "details": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "evidence_integrity_mismatch",\n "type": "string"\n },\n "details": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "truncated",\n "type": "string"\n },\n "details": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "process_capture_failed",\n "type": "string"\n },\n "details": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "cleanup_incomplete",\n "type": "string"\n },\n "details": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "revision_conflict",\n "type": "string"\n },\n "details": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "configuration_invalid",\n "type": "string"\n },\n "details": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "target_unavailable",\n "type": "string"\n },\n "details": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "execution_failure",\n "type": "string"\n },\n "details": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "address",\n "error"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "goal": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "goal_status": {\n "enum": [\n "not_requested",\n "reached",\n "not_reached"\n ],\n "type": "string"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "nodes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "depth": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "address",\n "depth"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "residual_unknowns": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "start": {\n "type": "string"\n },\n "traversal": {\n "additionalProperties": false,\n "properties": {\n "nodes_visited": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "nodes_visited"\n ],\n "type": "object"\n },\n "traversal_path": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "truncated": {\n "type": "boolean"\n }\n },\n "required": [\n "start",\n "goal",\n "direction",\n "goal_status",\n "nodes",\n "edges",\n "traversal_path",\n "failures",\n "traversal",\n "truncated",\n "residual_unknowns",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Trace Call Path"\n },\n {\n "analysisOperation": "trace_native_ui_action",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Trace one unique compiled UI action, object ID, native symbol or exact function address through authored connections, encoded or symbolized Objective-C handlers, and bounded static call references. Typed direct and resolved indirect calls, ambiguous candidates, inferred untyped provider callees, and targetless sites remain distinct. Runtime reachability is unknown; use trace_native_values for recovered value dependencies.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "action": "buildTapped:",\n "max_depth": 8,\n "max_edges": 500,\n "max_nodes": 250\n }\n ],\n "properties": {\n "action": {\n "description": "A unique compiled UI action selector, interface object ID, native symbol or exact function address",\n "minLength": 1,\n "type": "string"\n },\n "max_depth": {\n "default": 8,\n "description": "Maximum permitted depth for this operation.",\n "maximum": 32,\n "minimum": 0,\n "type": "integer"\n },\n "max_edges": {\n "default": 500,\n "description": "Maximum permitted edges for this operation.",\n "maximum": 5000,\n "minimum": 1,\n "type": "integer"\n },\n "max_nodes": {\n "default": 250,\n "description": "Maximum permitted nodes for this operation.",\n "maximum": 2000,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "kind": "enhanced",\n "name": "trace_native_ui_action",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "coverage": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "examined": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "facet": {\n "minLength": 1,\n "type": "string"\n },\n "omitted": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "reason": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "enum": [\n "complete",\n "partial",\n "unsupported",\n "not_requested"\n ],\n "type": "string"\n }\n },\n "required": [\n "facet",\n "status",\n "reason",\n "examined",\n "omitted"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "direction": {\n "enum": [\n "forward",\n "backward"\n ],\n "type": "string"\n },\n "edges": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "artifact_path": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "artifact_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "description": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "enum": [\n "binary_metadata",\n "interface_builder_resource",\n "symbol",\n "reference",\n "decompiler"\n ],\n "type": "string"\n },\n "location": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "file_offset": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "address",\n "file_offset"\n ],\n "type": "object"\n }\n },\n "required": [\n "kind",\n "description",\n "location",\n "artifact_path",\n "artifact_sha256"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "from": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "relation": {\n "enum": [\n "contains",\n "outlet_to",\n "target_action",\n "segue_to",\n "objc_dispatch",\n "swift_witness_dispatch",\n "swift_vtable_dispatch",\n "thunk_to",\n "direct_call",\n "indirect_call",\n "provider_call",\n "reads",\n "writes",\n "flows_to",\n "controls"\n ],\n "type": "string"\n },\n "resolution": {\n "enum": [\n "observed",\n "inferred",\n "resolved",\n "ambiguous"\n ],\n "type": "string"\n },\n "to": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "from",\n "to",\n "relation",\n "resolution",\n "evidence",\n "limitations"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "artifact_path": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "artifact_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "description": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "enum": [\n "binary_metadata",\n "interface_builder_resource",\n "symbol",\n "reference",\n "decompiler"\n ],\n "type": "string"\n },\n "location": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "file_offset": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "address",\n "file_offset"\n ],\n "type": "object"\n }\n },\n "required": [\n "kind",\n "description",\n "location",\n "artifact_path",\n "artifact_sha256"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "from": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "reason": {\n "minLength": 1,\n "type": "string"\n },\n "relation": {\n "enum": [\n "contains",\n "outlet_to",\n "target_action",\n "segue_to",\n "objc_dispatch",\n "swift_witness_dispatch",\n "swift_vtable_dispatch",\n "thunk_to",\n "direct_call",\n "indirect_call",\n "provider_call",\n "reads",\n "writes",\n "flows_to",\n "controls"\n ],\n "type": "string"\n },\n "resolution": {\n "const": "unresolved",\n "type": "string"\n },\n "to": {\n "type": "null"\n }\n },\n "required": [\n "id",\n "from",\n "to",\n "relation",\n "resolution",\n "reason",\n "evidence",\n "limitations"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "nodes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "attributes": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "evidence": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "artifact_path": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "artifact_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "description": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "enum": [\n "binary_metadata",\n "interface_builder_resource",\n "symbol",\n "reference",\n "decompiler"\n ],\n "type": "string"\n },\n "location": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "file_offset": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "address",\n "file_offset"\n ],\n "type": "object"\n }\n },\n "required": [\n "kind",\n "description",\n "location",\n "artifact_path",\n "artifact_sha256"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "enum": [\n "storyboard",\n "scene",\n "view_controller",\n "view",\n "control",\n "constraint",\n "layout_guide",\n "resource",\n "placeholder",\n "external_object",\n "outlet",\n "action",\n "segue",\n "objc_class",\n "objc_selector",\n "swift_declaration",\n "swift_requirement",\n "dispatch_table",\n "dispatch_slot",\n "thunk",\n "function",\n "state_value",\n "global_value",\n "field",\n "branch_condition",\n "sink",\n "unknown"\n ],\n "type": "string"\n },\n "location": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "file_offset": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "address",\n "file_offset"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "kind",\n "name",\n "location",\n "attributes",\n "evidence"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "tool_version": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "version",\n "tool_version"\n ],\n "type": "object"\n },\n "reached_depth": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "reason": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "start": {\n "minLength": 1,\n "type": "string"\n },\n "target_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "truncated": {\n "type": "boolean"\n },\n "unresolved": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "artifact_path": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "artifact_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "description": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "enum": [\n "binary_metadata",\n "interface_builder_resource",\n "symbol",\n "reference",\n "decompiler"\n ],\n "type": "string"\n },\n "location": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "file_offset": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "address",\n "file_offset"\n ],\n "type": "object"\n }\n },\n "required": [\n "kind",\n "description",\n "location",\n "artifact_path",\n "artifact_sha256"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "from": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "relation": {\n "enum": [\n "contains",\n "outlet_to",\n "target_action",\n "segue_to",\n "objc_dispatch",\n "swift_witness_dispatch",\n "swift_vtable_dispatch",\n "thunk_to",\n "direct_call",\n "indirect_call",\n "provider_call",\n "reads",\n "writes",\n "flows_to",\n "controls"\n ],\n "type": "string"\n },\n "resolution": {\n "enum": [\n "observed",\n "inferred",\n "resolved",\n "ambiguous"\n ],\n "type": "string"\n },\n "to": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "from",\n "to",\n "relation",\n "resolution",\n "evidence",\n "limitations"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "artifact_path": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "artifact_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "description": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "enum": [\n "binary_metadata",\n "interface_builder_resource",\n "symbol",\n "reference",\n "decompiler"\n ],\n "type": "string"\n },\n "location": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "file_offset": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "address",\n "file_offset"\n ],\n "type": "object"\n }\n },\n "required": [\n "kind",\n "description",\n "location",\n "artifact_path",\n "artifact_sha256"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "from": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "reason": {\n "minLength": 1,\n "type": "string"\n },\n "relation": {\n "enum": [\n "contains",\n "outlet_to",\n "target_action",\n "segue_to",\n "objc_dispatch",\n "swift_witness_dispatch",\n "swift_vtable_dispatch",\n "thunk_to",\n "direct_call",\n "indirect_call",\n "provider_call",\n "reads",\n "writes",\n "flows_to",\n "controls"\n ],\n "type": "string"\n },\n "resolution": {\n "const": "unresolved",\n "type": "string"\n },\n "to": {\n "type": "null"\n }\n },\n "required": [\n "id",\n "from",\n "to",\n "relation",\n "resolution",\n "reason",\n "evidence",\n "limitations"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n }\n },\n "required": [\n "target_sha256",\n "provider",\n "start",\n "direction",\n "nodes",\n "edges",\n "unresolved",\n "reached_depth",\n "truncated",\n "reason",\n "coverage",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Trace Native Ui Action"\n },\n {\n "analysisOperation": "trace_native_values",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Trace a bounded static dependency graph from one explicit native procedure. Includes high-p-code def-use, constants, operators, memory and branch operations, resolved call edges, and derived argument/parameter and return/output bindings. Missing bindings, alias semantics, persistent state and RNG roles remain unknown. Budgets bound depth, decompilations, graph size and payloads; nodes are paginated.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "limit": 1000,\n "max_call_sites": 256,\n "max_depth": 3,\n "max_edges": 10000,\n "max_functions": 16,\n "max_nodes": 5000,\n "offset": 0,\n "procedure": "0x1000"\n }\n ],\n "properties": {\n "limit": {\n "default": 1000,\n "description": "Value for limit.",\n "maximum": 5000,\n "minimum": 1,\n "type": "integer"\n },\n "max_call_sites": {\n "default": 256,\n "description": "Maximum permitted call sites for this operation.",\n "maximum": 4096,\n "minimum": 1,\n "type": "integer"\n },\n "max_depth": {\n "default": 3,\n "description": "Maximum permitted depth for this operation.",\n "maximum": 16,\n "minimum": 0,\n "type": "integer"\n },\n "max_edges": {\n "default": 10000,\n "description": "Maximum permitted edges for this operation.",\n "maximum": 40000,\n "minimum": 1,\n "type": "integer"\n },\n "max_functions": {\n "default": 16,\n "description": "Maximum permitted functions for this operation.",\n "maximum": 64,\n "minimum": 1,\n "type": "integer"\n },\n "max_nodes": {\n "default": 5000,\n "description": "Maximum permitted nodes for this operation.",\n "maximum": 20000,\n "minimum": 1,\n "type": "integer"\n },\n "offset": {\n "default": 0,\n "description": "Value for offset.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "procedure": {\n "description": "Value for procedure.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "procedure"\n ],\n "type": "object"\n },\n "kind": "enhanced",\n "name": "trace_native_values",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "decompilations": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "edges": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "evidence_id": {\n "type": "string"\n },\n "input_index": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "kind": {\n "enum": [\n "def-use",\n "call",\n "parameter-use",\n "argument-binding",\n "return-binding"\n ],\n "type": "string"\n },\n "source": {\n "type": "string"\n },\n "status": {\n "enum": [\n "derived",\n "direct",\n "resolved-indirect",\n "candidate"\n ],\n "type": "string"\n },\n "target": {\n "type": "string"\n }\n },\n "required": [\n "source",\n "target",\n "input_index",\n "kind",\n "status",\n "evidence_id"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "next_offset": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "nodes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "evidence_id": {\n "type": "string"\n },\n "id": {\n "type": "string"\n },\n "kind": {\n "enum": [\n "operation",\n "parameter"\n ],\n "type": "string"\n },\n "operation": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "block_membership": {\n "default": "unavailable",\n "enum": [\n "member",\n "detached",\n "unavailable"\n ],\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "inputs": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "constant_hex": {\n "anyOf": [\n {\n "pattern": "^[0-9a-f]+$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "kind": {\n "enum": [\n "constant",\n "address",\n "register",\n "unique",\n "other"\n ],\n "type": "string"\n },\n "location": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "size_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "size_bytes",\n "location",\n "constant_hex"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "is_dead": {\n "type": "boolean"\n },\n "opcode": {\n "minLength": 1,\n "type": "string"\n },\n "output": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "constant_hex": {\n "anyOf": [\n {\n "pattern": "^[0-9a-f]+$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "kind": {\n "enum": [\n "constant",\n "address",\n "register",\n "unique",\n "other"\n ],\n "type": "string"\n },\n "location": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "size_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "size_bytes",\n "location",\n "constant_hex"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "sequence": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "id",\n "address",\n "sequence",\n "opcode",\n "is_dead",\n "block_membership",\n "inputs",\n "output"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "parameter": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "data_type": {\n "type": "string"\n },\n "name": {\n "type": "string"\n },\n "ordinal": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "ordinal",\n "name",\n "data_type"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "procedure": {\n "type": "string"\n }\n },\n "required": [\n "id",\n "procedure",\n "evidence_id",\n "kind",\n "operation",\n "parameter"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "procedures": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "analysis_profile_digest": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "depth": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "evidence_id": {\n "type": "string"\n },\n "provider": {\n "type": "string"\n }\n },\n "required": [\n "address",\n "depth",\n "evidence_id",\n "provider",\n "analysis_profile_digest"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "seed": {\n "type": "string"\n },\n "target_sha256": {\n "type": "string"\n },\n "total_edges": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "total_nodes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "truncated": {\n "type": "boolean"\n },\n "unknowns": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "procedure": {\n "type": "string"\n },\n "reason": {\n "type": "string"\n }\n },\n "required": [\n "procedure",\n "address",\n "reason"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "seed",\n "target_sha256",\n "nodes",\n "edges",\n "procedures",\n "unknowns",\n "total_nodes",\n "total_edges",\n "decompilations",\n "next_offset",\n "truncated",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Trace Native Values"\n },\n {\n "analysisOperation": "observe_native_ui",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": true,\n "readOnlyHint": false\n },\n "description": "Observe an already-running native app by PID and window ID, bound to the active Mach-O target. Captures a bounded accessibility tree and selected-window screenshot; OS permission denial fails without broad capture or target launch.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": true,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": true\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "pid": 123,\n "window_id": 456\n }\n ],\n "properties": {\n "accessibility": {\n "default": true,\n "description": "Value for accessibility.",\n "type": "boolean"\n },\n "max_nodes": {\n "default": 500,\n "description": "Maximum accessibility nodes per capture; increase for large windows.",\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n "pid": {\n "description": "Value for pid.",\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n "screenshot": {\n "default": true,\n "description": "Value for screenshot.",\n "type": "boolean"\n },\n "window_id": {\n "description": "Value for window id.",\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n }\n },\n "required": [\n "pid",\n "window_id"\n ],\n "type": "object"\n },\n "kind": "native-provider",\n "name": "observe_native_ui",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "initial": {\n "additionalProperties": false,\n "properties": {\n "gaps": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "nodes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "actions": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "children_count": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "items": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "type": "array"\n },\n "role": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "title": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "value": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "path",\n "role",\n "title",\n "value",\n "actions",\n "children_count"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "screenshot": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "base64": {\n "minLength": 4,\n "type": "string"\n },\n "height": {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n "mime_type": {\n "const": "image/png",\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "width": {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n }\n },\n "required": [\n "mime_type",\n "base64",\n "sha256",\n "width",\n "height"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "truncated": {\n "type": "boolean"\n },\n "window": {\n "additionalProperties": false,\n "properties": {\n "executable": {\n "type": "string"\n },\n "launch_time": {\n "type": "number"\n },\n "pid": {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n "title": {\n "type": "string"\n },\n "window_id": {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n }\n },\n "required": [\n "pid",\n "window_id",\n "executable",\n "launch_time",\n "title"\n ],\n "type": "object"\n }\n },\n "required": [\n "window",\n "nodes",\n "truncated",\n "screenshot",\n "gaps"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "restore": {\n "const": "leave-as-is",\n "type": "string"\n },\n "steps": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "after": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "gaps": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "nodes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "actions": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "children_count": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "items": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "type": "array"\n },\n "role": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "title": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "value": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "path",\n "role",\n "title",\n "value",\n "actions",\n "children_count"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "screenshot": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "base64": {\n "minLength": 4,\n "type": "string"\n },\n "height": {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n "mime_type": {\n "const": "image/png",\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "width": {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n }\n },\n "required": [\n "mime_type",\n "base64",\n "sha256",\n "width",\n "height"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "truncated": {\n "type": "boolean"\n },\n "window": {\n "additionalProperties": false,\n "properties": {\n "executable": {\n "type": "string"\n },\n "launch_time": {\n "type": "number"\n },\n "pid": {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n "title": {\n "type": "string"\n },\n "window_id": {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n }\n },\n "required": [\n "pid",\n "window_id",\n "executable",\n "launch_time",\n "title"\n ],\n "type": "object"\n }\n },\n "required": [\n "window",\n "nodes",\n "truncated",\n "screenshot",\n "gaps"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "before": {\n "additionalProperties": false,\n "properties": {\n "gaps": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "nodes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "actions": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "children_count": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "items": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "type": "array"\n },\n "role": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "title": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "value": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "path",\n "role",\n "title",\n "value",\n "actions",\n "children_count"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "screenshot": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "base64": {\n "minLength": 4,\n "type": "string"\n },\n "height": {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n "mime_type": {\n "const": "image/png",\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "width": {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n }\n },\n "required": [\n "mime_type",\n "base64",\n "sha256",\n "width",\n "height"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "truncated": {\n "type": "boolean"\n },\n "window": {\n "additionalProperties": false,\n "properties": {\n "executable": {\n "type": "string"\n },\n "launch_time": {\n "type": "number"\n },\n "pid": {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n "title": {\n "type": "string"\n },\n "window_id": {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n }\n },\n "required": [\n "pid",\n "window_id",\n "executable",\n "launch_time",\n "title"\n ],\n "type": "object"\n }\n },\n "required": [\n "window",\n "nodes",\n "truncated",\n "screenshot",\n "gaps"\n ],\n "type": "object"\n },\n "index": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "type": "string"\n },\n "outcome": {\n "enum": [\n "completed",\n "failed",\n "cancelled"\n ],\n "type": "string"\n },\n "reason": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "index",\n "kind",\n "before",\n "after",\n "outcome",\n "reason"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "target_sha256": {\n "type": "string"\n }\n },\n "required": [\n "target_sha256",\n "initial",\n "steps",\n "restore",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Observe Native Ui"\n },\n {\n "analysisOperation": "capture_native_ui_scenario",\n "annotations": {\n "destructiveHint": true,\n "idempotentHint": false,\n "openWorldHint": true,\n "readOnlyHint": false\n },\n "description": "Run selected-element press, increment/decrement scroll, AXValue text entry and bounded wait steps in one exact native app window. Returns ordered before/after captures and action/capture failures. Actions can change app data, network activity and persistent state; application state is left as-is and restoration is not attempted.",\n "effects": {\n "accessesNetwork": true,\n "changesUiState": true,\n "idempotent": false,\n "launchesProcess": true,\n "mayDiscardData": true,\n "mutatesSession": true,\n "mutatesTarget": true,\n "writesFilesystem": true\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "pid": 123,\n "steps": [\n {\n "kind": "wait",\n "milliseconds": 100\n }\n ],\n "window_id": 456\n }\n ],\n "properties": {\n "accessibility": {\n "default": true,\n "description": "Value for accessibility.",\n "type": "boolean"\n },\n "max_nodes": {\n "default": 500,\n "description": "Maximum accessibility nodes per capture; increase for large windows.",\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n "pid": {\n "description": "Value for pid.",\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n "screenshot": {\n "default": true,\n "description": "Value for screenshot.",\n "type": "boolean"\n },\n "steps": {\n "description": "Value for steps.",\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "click",\n "description": "Value for kind.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "items": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "maxItems": 32,\n "type": "array"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "direction": {\n "description": "Direction in which to traverse or compare relationships.",\n "enum": [\n "increment",\n "decrement"\n ],\n "type": "string"\n },\n "kind": {\n "const": "scroll",\n "description": "Value for kind.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "items": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "maxItems": 32,\n "type": "array"\n }\n },\n "required": [\n "kind",\n "path",\n "direction"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "key-entry",\n "description": "Value for kind.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "items": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "maxItems": 32,\n "type": "array"\n },\n "text": {\n "description": "Value for text.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path",\n "text"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "wait",\n "description": "Value for kind.",\n "type": "string"\n },\n "milliseconds": {\n "description": "Wait duration in milliseconds, within the 180-second operation deadline.",\n "maximum": 180000,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "milliseconds"\n ],\n "type": "object"\n }\n ]\n },\n "minItems": 1,\n "type": "array"\n },\n "window_id": {\n "description": "Value for window id.",\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n }\n },\n "required": [\n "pid",\n "window_id",\n "steps"\n ],\n "type": "object"\n },\n "kind": "native-provider",\n "name": "capture_native_ui_scenario",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "initial": {\n "additionalProperties": false,\n "properties": {\n "gaps": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "nodes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "actions": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "children_count": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "items": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "type": "array"\n },\n "role": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "title": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "value": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "path",\n "role",\n "title",\n "value",\n "actions",\n "children_count"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "screenshot": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "base64": {\n "minLength": 4,\n "type": "string"\n },\n "height": {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n "mime_type": {\n "const": "image/png",\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "width": {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n }\n },\n "required": [\n "mime_type",\n "base64",\n "sha256",\n "width",\n "height"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "truncated": {\n "type": "boolean"\n },\n "window": {\n "additionalProperties": false,\n "properties": {\n "executable": {\n "type": "string"\n },\n "launch_time": {\n "type": "number"\n },\n "pid": {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n "title": {\n "type": "string"\n },\n "window_id": {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n }\n },\n "required": [\n "pid",\n "window_id",\n "executable",\n "launch_time",\n "title"\n ],\n "type": "object"\n }\n },\n "required": [\n "window",\n "nodes",\n "truncated",\n "screenshot",\n "gaps"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "restore": {\n "const": "leave-as-is",\n "type": "string"\n },\n "steps": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "after": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "gaps": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "nodes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "actions": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "children_count": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "items": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "type": "array"\n },\n "role": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "title": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "value": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "path",\n "role",\n "title",\n "value",\n "actions",\n "children_count"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "screenshot": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "base64": {\n "minLength": 4,\n "type": "string"\n },\n "height": {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n "mime_type": {\n "const": "image/png",\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "width": {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n }\n },\n "required": [\n "mime_type",\n "base64",\n "sha256",\n "width",\n "height"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "truncated": {\n "type": "boolean"\n },\n "window": {\n "additionalProperties": false,\n "properties": {\n "executable": {\n "type": "string"\n },\n "launch_time": {\n "type": "number"\n },\n "pid": {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n "title": {\n "type": "string"\n },\n "window_id": {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n }\n },\n "required": [\n "pid",\n "window_id",\n "executable",\n "launch_time",\n "title"\n ],\n "type": "object"\n }\n },\n "required": [\n "window",\n "nodes",\n "truncated",\n "screenshot",\n "gaps"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "before": {\n "additionalProperties": false,\n "properties": {\n "gaps": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "nodes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "actions": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "children_count": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "items": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "type": "array"\n },\n "role": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "title": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "value": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "path",\n "role",\n "title",\n "value",\n "actions",\n "children_count"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "screenshot": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "base64": {\n "minLength": 4,\n "type": "string"\n },\n "height": {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n "mime_type": {\n "const": "image/png",\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "width": {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n }\n },\n "required": [\n "mime_type",\n "base64",\n "sha256",\n "width",\n "height"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "truncated": {\n "type": "boolean"\n },\n "window": {\n "additionalProperties": false,\n "properties": {\n "executable": {\n "type": "string"\n },\n "launch_time": {\n "type": "number"\n },\n "pid": {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n "title": {\n "type": "string"\n },\n "window_id": {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n }\n },\n "required": [\n "pid",\n "window_id",\n "executable",\n "launch_time",\n "title"\n ],\n "type": "object"\n }\n },\n "required": [\n "window",\n "nodes",\n "truncated",\n "screenshot",\n "gaps"\n ],\n "type": "object"\n },\n "index": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "type": "string"\n },\n "outcome": {\n "enum": [\n "completed",\n "failed",\n "cancelled"\n ],\n "type": "string"\n },\n "reason": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "index",\n "kind",\n "before",\n "after",\n "outcome",\n "reason"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "target_sha256": {\n "type": "string"\n }\n },\n "required": [\n "target_sha256",\n "initial",\n "steps",\n "restore",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Capture Native Ui Scenario"\n },\n {\n "analysisOperation": "inspect_macho",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": true,\n "readOnlyHint": false\n },\n "description": "Inspect Mach-O slices, load commands, imports, exports, dependencies, build metadata, segments, sections, permissions, and exact command provenance without launching Hopper.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": true,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {}\n ],\n "properties": {},\n "type": "object"\n },\n "kind": "native-provider",\n "name": "inspect_macho",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "architectures": {\n "additionalProperties": false,\n "properties": {\n "exhaustive": {\n "type": "boolean"\n },\n "items": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "alignment": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "cpu_subtype": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "cpu_type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "file_offset": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "type": "string"\n },\n "size": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "name",\n "cpu_type",\n "cpu_subtype",\n "file_offset",\n "size",\n "alignment"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "total": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "items",\n "total",\n "exhaustive",\n "limitations"\n ],\n "type": "object"\n },\n "build_metadata": {\n "additionalProperties": false,\n "properties": {\n "exhaustive": {\n "type": "boolean"\n },\n "items": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "minimum_os": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "platform": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "sdk": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "tools": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "type": "string"\n },\n "version": {\n "type": "string"\n }\n },\n "required": [\n "name",\n "version"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "platform",\n "minimum_os",\n "sdk",\n "tools"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "total": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "items",\n "total",\n "exhaustive",\n "limitations"\n ],\n "type": "object"\n },\n "dependencies": {\n "additionalProperties": false,\n "properties": {\n "exhaustive": {\n "type": "boolean"\n },\n "items": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "compatibility_version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "current_version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "kind": {\n "type": "string"\n },\n "path": {\n "type": "string"\n }\n },\n "required": [\n "path",\n "kind",\n "current_version",\n "compatibility_version"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "total": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "items",\n "total",\n "exhaustive",\n "limitations"\n ],\n "type": "object"\n },\n "endian": {\n "anyOf": [\n {\n "enum": [\n "little",\n "big"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "entrypoints": {\n "additionalProperties": false,\n "properties": {\n "exhaustive": {\n "type": "boolean"\n },\n "items": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "file_offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "file_offset"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "total": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "items",\n "total",\n "exhaustive",\n "limitations"\n ],\n "type": "object"\n },\n "exports": {\n "additionalProperties": false,\n "properties": {\n "exhaustive": {\n "type": "boolean"\n },\n "items": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "pattern": "^0x[a-fA-F0-9]+$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "type": "string"\n },\n "reexport": {\n "anyOf": [\n {\n "type": "boolean"\n },\n {\n "type": "null"\n }\n ]\n },\n "source": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "weak": {\n "anyOf": [\n {\n "type": "boolean"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "name",\n "address",\n "weak",\n "reexport",\n "source"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "total": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "items",\n "total",\n "exhaustive",\n "limitations"\n ],\n "type": "object"\n },\n "file_type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "flags": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "format": {\n "const": "mach-o",\n "type": "string"\n },\n "imports": {\n "additionalProperties": false,\n "properties": {\n "exhaustive": {\n "type": "boolean"\n },\n "items": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "pattern": "^0x[a-fA-F0-9]+$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "type": "string"\n },\n "reexport": {\n "anyOf": [\n {\n "type": "boolean"\n },\n {\n "type": "null"\n }\n ]\n },\n "source": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "weak": {\n "anyOf": [\n {\n "type": "boolean"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "name",\n "address",\n "weak",\n "reexport",\n "source"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "total": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "items",\n "total",\n "exhaustive",\n "limitations"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "load_commands": {\n "additionalProperties": false,\n "properties": {\n "exhaustive": {\n "type": "boolean"\n },\n "items": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "fields": {\n "additionalProperties": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "null"\n }\n ]\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "index": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "type": "string"\n }\n },\n "required": [\n "index",\n "kind",\n "fields"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "total": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "items",\n "total",\n "exhaustive",\n "limitations"\n ],\n "type": "object"\n },\n "provenance": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "command": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "executable_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "exit": {\n "additionalProperties": false,\n "properties": {\n "code": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": -9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "signal": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "code",\n "signal"\n ],\n "type": "object"\n },\n "stderr_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "stdout_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "tool": {\n "minLength": 1,\n "type": "string"\n },\n "tool_version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "version_reason": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "tool",\n "command",\n "tool_version",\n "version_reason",\n "executable_sha256",\n "exit",\n "stdout_bytes",\n "stderr_bytes"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "segments": {\n "additionalProperties": false,\n "properties": {\n "exhaustive": {\n "type": "boolean"\n },\n "items": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "file_offset": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "file_size": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "initial_permissions": {\n "additionalProperties": false,\n "properties": {\n "execute": {\n "anyOf": [\n {\n "type": "boolean"\n },\n {\n "type": "null"\n }\n ]\n },\n "raw": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "read": {\n "anyOf": [\n {\n "type": "boolean"\n },\n {\n "type": "null"\n }\n ]\n },\n "write": {\n "anyOf": [\n {\n "type": "boolean"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "read",\n "write",\n "execute",\n "raw"\n ],\n "type": "object"\n },\n "maximum_permissions": {\n "additionalProperties": false,\n "properties": {\n "execute": {\n "anyOf": [\n {\n "type": "boolean"\n },\n {\n "type": "null"\n }\n ]\n },\n "raw": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "read": {\n "anyOf": [\n {\n "type": "boolean"\n },\n {\n "type": "null"\n }\n ]\n },\n "write": {\n "anyOf": [\n {\n "type": "boolean"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "read",\n "write",\n "execute",\n "raw"\n ],\n "type": "object"\n },\n "name": {\n "type": "string"\n },\n "sections": {\n "additionalProperties": false,\n "properties": {\n "exhaustive": {\n "type": "boolean"\n },\n "items": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "pattern": "^0x[a-fA-F0-9]+$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "alignment": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "file_offset": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "flags": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "name": {\n "type": "string"\n },\n "segment": {\n "type": "string"\n },\n "size": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "segment",\n "name",\n "address",\n "size",\n "file_offset",\n "alignment",\n "flags"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "total": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "items",\n "total",\n "exhaustive",\n "limitations"\n ],\n "type": "object"\n },\n "vm_address": {\n "anyOf": [\n {\n "pattern": "^0x[a-fA-F0-9]+$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "vm_size": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "name",\n "vm_address",\n "vm_size",\n "file_offset",\n "file_size",\n "maximum_permissions",\n "initial_permissions",\n "sections"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "total": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "items",\n "total",\n "exhaustive",\n "limitations"\n ],\n "type": "object"\n },\n "uuid": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "word_size": {\n "anyOf": [\n {\n "anyOf": [\n {\n "const": 32,\n "type": "number"\n },\n {\n "const": 64,\n "type": "number"\n }\n ]\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "format",\n "endian",\n "word_size",\n "file_type",\n "flags",\n "uuid",\n "entrypoints",\n "architectures",\n "build_metadata",\n "load_commands",\n "dependencies",\n "imports",\n "exports",\n "segments",\n "provenance",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Inspect Macho"\n },\n {\n "analysisOperation": "inspect_signature",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": true,\n "readOnlyHint": false\n },\n "description": "Inspect the active artifact\'s code-signing identity, hashes, authorities, requirements, entitlements, hardened-runtime state, and exact command provenance.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": true,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {}\n ],\n "properties": {},\n "type": "object"\n },\n "kind": "native-provider",\n "name": "inspect_signature",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "authorities": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "cdhashes": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "designated_requirement": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "entitlements": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "format": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "hardened_runtime": {\n "anyOf": [\n {\n "type": "boolean"\n },\n {\n "type": "null"\n }\n ]\n },\n "hash_algorithms": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "identifier": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "provenance": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "command": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "executable_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "exit": {\n "additionalProperties": false,\n "properties": {\n "code": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": -9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "signal": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "code",\n "signal"\n ],\n "type": "object"\n },\n "stderr_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "stdout_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "tool": {\n "minLength": 1,\n "type": "string"\n },\n "tool_version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "version_reason": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "tool",\n "command",\n "tool_version",\n "version_reason",\n "executable_sha256",\n "exit",\n "stdout_bytes",\n "stderr_bytes"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "signed": {\n "type": "boolean"\n },\n "team_identifier": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "timestamp": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "signed",\n "identifier",\n "team_identifier",\n "format",\n "cdhashes",\n "hash_algorithms",\n "authorities",\n "designated_requirement",\n "entitlements",\n "timestamp",\n "hardened_runtime",\n "provenance",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Inspect Signature"\n },\n {\n "analysisOperation": "inspect_plist",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": true,\n "readOnlyHint": false\n },\n "description": "Parse Info.plist from the active artifact by default, or pass any local plist path. Returns normalized JSON rather than plutil text.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": true,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {\n "path": "/Applications/Example.app/Contents/Info.plist"\n }\n ],\n "properties": {\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "type": "object"\n },\n "kind": "native-provider",\n "name": "inspect_plist",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "bundle": {\n "additionalProperties": false,\n "properties": {\n "executable": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "identifier": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "short_version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "identifier",\n "executable",\n "name",\n "version",\n "short_version"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "xml",\n "binary",\n "json",\n "unknown"\n ],\n "type": "string"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "provenance": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "command": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "executable_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "exit": {\n "additionalProperties": false,\n "properties": {\n "code": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": -9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "signal": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "code",\n "signal"\n ],\n "type": "object"\n },\n "stderr_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "stdout_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "tool": {\n "minLength": 1,\n "type": "string"\n },\n "tool_version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "version_reason": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "tool",\n "command",\n "tool_version",\n "version_reason",\n "executable_sha256",\n "exit",\n "stdout_bytes",\n "stderr_bytes"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "source_path": {\n "type": "string"\n },\n "value": {\n "$ref": "#/$defs/__schema0"\n }\n },\n "required": [\n "format",\n "value",\n "bundle",\n "source_path",\n "provenance",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Inspect Plist"\n },\n {\n "analysisOperation": "list_architectures",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": true,\n "readOnlyHint": false\n },\n "description": "List thin or universal Mach-O slices with offsets, sizes, alignment, explicit coverage, and native-tool provenance.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": true,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {}\n ],\n "properties": {},\n "type": "object"\n },\n "kind": "native-provider",\n "name": "list_architectures",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "architectures": {\n "additionalProperties": false,\n "properties": {\n "exhaustive": {\n "type": "boolean"\n },\n "items": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "alignment": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "cpu_subtype": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "cpu_type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "file_offset": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "type": "string"\n },\n "size": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "name",\n "cpu_type",\n "cpu_subtype",\n "file_offset",\n "size",\n "alignment"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "total": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "items",\n "total",\n "exhaustive",\n "limitations"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "provenance": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "command": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "executable_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "exit": {\n "additionalProperties": false,\n "properties": {\n "code": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": -9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "signal": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "code",\n "signal"\n ],\n "type": "object"\n },\n "stderr_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "stdout_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "tool": {\n "minLength": 1,\n "type": "string"\n },\n "tool_version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "version_reason": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "tool",\n "command",\n "tool_version",\n "version_reason",\n "executable_sha256",\n "exit",\n "stdout_bytes",\n "stderr_bytes"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "architectures",\n "provenance",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "List Architectures"\n },\n {\n "analysisOperation": "demangle_swift",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": true,\n "readOnlyHint": false\n },\n "description": "Demangle an ordered list of single-line Swift symbols without requiring Hopper. Each input returns demangled, unchanged, or invalid status.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": true,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {\n "symbols": [\n "$s4Test3fooyyF"\n ]\n }\n ],\n "properties": {\n "symbols": {\n "description": "Ordered Swift symbols to demangle.",\n "items": {\n "minLength": 1,\n "pattern": "^[^\\\\n]*$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "symbols"\n ],\n "type": "object"\n },\n "kind": "native-provider",\n "name": "demangle_swift",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "provenance": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "command": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "executable_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "exit": {\n "additionalProperties": false,\n "properties": {\n "code": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": -9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "signal": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "code",\n "signal"\n ],\n "type": "object"\n },\n "stderr_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "stdout_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "tool": {\n "minLength": 1,\n "type": "string"\n },\n "tool_version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "version_reason": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "tool",\n "command",\n "tool_version",\n "version_reason",\n "executable_sha256",\n "exit",\n "stdout_bytes",\n "stderr_bytes"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "symbols": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "input": {\n "type": "string"\n },\n "output": {\n "type": "string"\n },\n "status": {\n "enum": [\n "demangled",\n "unchanged",\n "invalid"\n ],\n "type": "string"\n }\n },\n "required": [\n "input",\n "output",\n "status"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "symbols",\n "provenance",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Demangle Swift"\n },\n {\n "analysisOperation": "inspect_artifact",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": true,\n "readOnlyHint": false\n },\n "description": "Inspect an active archive or application package in one call. Returns the complete content-addressed artifact graph, source Evidence, observations, relationships, integrity contradictions, hypotheses, unexplored branches, limitations, and next probes inline. Read-only DMG mounting is used automatically on supported macOS hosts. Integrity mismatches fail by default; record-and-continue keeps mismatches explicitly untrusted. It does not extract files; use extract_artifact to materialize its regular contents.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": true,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": true\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {}\n ],\n "properties": {\n "integrity_policy": {\n "default": "fail",\n "description": "Value for integrity policy.",\n "enum": [\n "fail",\n "record-and-continue"\n ],\n "type": "string"\n }\n },\n "type": "object"\n },\n "kind": "artifact-provider",\n "name": "inspect_artifact",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "contradictions": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "contradiction_id": {\n "pattern": "^aic_[a-f0-9]{64}$",\n "type": "string"\n },\n "declared_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "observed_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "occurrence_id": {\n "pattern": "^occ_[a-f0-9]{64}$",\n "type": "string"\n },\n "statement": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "contradiction_id",\n "statement",\n "occurrence_id",\n "declared_sha256",\n "observed_sha256",\n "evidence_id"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "coverage": {\n "additionalProperties": false,\n "properties": {\n "hypotheses_omitted": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "hypotheses_retained": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "next_probes_omitted": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "next_probes_retained": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "observations_omitted": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "observations_retained": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "relationships_omitted": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "relationships_retained": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "status": {\n "enum": [\n "complete-within-substeps",\n "partial",\n "truncated"\n ],\n "type": "string"\n },\n "substeps_completed": {\n "const": 1,\n "type": "number"\n },\n "unexplored_branches_omitted": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "unexplored_branches_retained": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "status",\n "substeps_completed",\n "observations_retained",\n "observations_omitted",\n "relationships_retained",\n "relationships_omitted",\n "hypotheses_retained",\n "hypotheses_omitted",\n "unexplored_branches_retained",\n "unexplored_branches_omitted",\n "next_probes_retained",\n "next_probes_omitted"\n ],\n "type": "object"\n },\n "derived_relationships": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "logical_path": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "occurrence_id": {\n "pattern": "^occ_[a-f0-9]{64}$",\n "type": "string"\n },\n "relation": {\n "enum": [\n "contains",\n "extracts",\n "slice-of",\n "embeds",\n "loads",\n "maps-source",\n "derived-from"\n ],\n "type": "string"\n },\n "relationship_id": {\n "pattern": "^air_[a-f0-9]{64}$",\n "type": "string"\n },\n "source_artifact_id": {\n "pattern": "^art_[a-f0-9]{64}$",\n "type": "string"\n },\n "target_artifact_id": {\n "pattern": "^art_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "relationship_id",\n "relation",\n "source_artifact_id",\n "target_artifact_id",\n "occurrence_id",\n "logical_path",\n "evidence_id"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "hypotheses": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "basis_evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "confidence": {\n "enum": [\n "medium",\n "low"\n ],\n "type": "string"\n },\n "hypothesis_id": {\n "pattern": "^aih_[a-f0-9]{64}$",\n "type": "string"\n },\n "limitation": {\n "minLength": 1,\n "type": "string"\n },\n "statement": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "hypothesis_id",\n "statement",\n "confidence",\n "basis_evidence_ids",\n "limitation"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "inspection_id": {\n "pattern": "^ai_[a-f0-9]{64}$",\n "type": "string"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "next_probes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "authority": {\n "enum": [\n "artifact-bytes",\n "managed-static-analysis",\n "native-analysis-provider",\n "ast-static-analysis"\n ],\n "type": "string"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "rationale": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "operation",\n "rationale",\n "authority"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "observations": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "kind": {\n "enum": [\n "root-manifest",\n "artifact",\n "occurrence",\n "integrity"\n ],\n "type": "string"\n },\n "observation_id": {\n "pattern": "^aio_[a-f0-9]{64}$",\n "type": "string"\n },\n "subject": {\n "minLength": 1,\n "type": "string"\n },\n "value": {\n "$ref": "#/$defs/__schema0"\n }\n },\n "required": [\n "observation_id",\n "kind",\n "subject",\n "value",\n "evidence_id"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "subject": {\n "additionalProperties": false,\n "properties": {\n "manifest_id": {\n "pattern": "^agm_[a-f0-9]{64}$",\n "type": "string"\n },\n "root_artifact_id": {\n "pattern": "^art_[a-f0-9]{64}$",\n "type": "string"\n },\n "root_format": {\n "minLength": 1,\n "type": "string"\n },\n "root_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "manifest_id",\n "root_artifact_id",\n "root_sha256",\n "root_format"\n ],\n "type": "object"\n },\n "substeps": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "operation": {\n "const": "inventory_artifact",\n "type": "string"\n },\n "status": {\n "const": "completed",\n "type": "string"\n },\n "substep_id": {\n "pattern": "^ais_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "substep_id",\n "operation",\n "status",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "unexplored_branches": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "branch_id": {\n "pattern": "^aib_[a-f0-9]{64}$",\n "type": "string"\n },\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "next_probe": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "authority": {\n "enum": [\n "artifact-bytes",\n "managed-static-analysis",\n "native-analysis-provider",\n "ast-static-analysis"\n ],\n "type": "string"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "rationale": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "operation",\n "rationale",\n "authority"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "reason": {\n "enum": [\n "format-specific-analysis-required",\n "unknown-format"\n ],\n "type": "string"\n }\n },\n "required": [\n "branch_id",\n "reason",\n "detail",\n "next_probe",\n "evidence_id"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "inspection_id",\n "subject",\n "substeps",\n "observations",\n "derived_relationships",\n "hypotheses",\n "contradictions",\n "unexplored_branches",\n "next_probes",\n "coverage",\n "evidence_links",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Inspect Artifact"\n },\n {\n "analysisOperation": "extract_artifact",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": false,\n "openWorldHint": true,\n "readOnlyHint": false\n },\n "description": "Extract all regular files from the active archive or application package into a fresh temporary directory chosen by REA. The result includes its location. Rejects traversal and symlink escapes, never overwrites, enforces archive integrity checks, and verifies cleanup. Integrity mismatches fail by default; record-and-continue extracts the observed bytes and reports each mismatch as an untrusted integrity contradiction.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": false,\n "launchesProcess": true,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": true\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {}\n ],\n "properties": {\n "integrity_policy": {\n "default": "fail",\n "description": "Value for integrity policy.",\n "enum": [\n "fail",\n "record-and-continue"\n ],\n "type": "string"\n }\n },\n "type": "object"\n },\n "kind": "artifact-provider",\n "name": "extract_artifact",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "artifacts": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "artifact_id": {\n "pattern": "^art_[a-f0-9]{64}$",\n "type": "string"\n },\n "bytes_written": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "created": {\n "type": "boolean"\n },\n "relative_path": {\n "minLength": 1,\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "artifact_id",\n "relative_path",\n "sha256",\n "bytes_written",\n "created"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "cleanup": {\n "additionalProperties": false,\n "properties": {\n "attempted": {\n "type": "boolean"\n },\n "residual_paths": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "verified": {\n "type": "boolean"\n }\n },\n "required": [\n "attempted",\n "verified",\n "residual_paths"\n ],\n "type": "object"\n },\n "containment_verified": {\n "type": "boolean"\n },\n "extraction_manifest": {\n "additionalProperties": false,\n "properties": {\n "extraction_id": {\n "pattern": "^aex_[a-f0-9]{64}$",\n "type": "string"\n },\n "files_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "output_root_alias": {\n "const": "$OUTPUT_ROOT",\n "type": "string"\n },\n "selected_occurrence_ids": {\n "items": {\n "pattern": "^occ_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "source_manifest_id": {\n "pattern": "^agm_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "extraction_id",\n "source_manifest_id",\n "selected_occurrence_ids",\n "files_sha256",\n "output_root_alias"\n ],\n "type": "object"\n },\n "integrity_contradictions": {\n "default": [],\n "items": {\n "additionalProperties": false,\n "properties": {\n "contradiction_id": {\n "pattern": "^ic_[a-f0-9]{64}$",\n "type": "string"\n },\n "declared_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "entry_kind": {\n "enum": [\n "file",\n "slice"\n ],\n "type": "string"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "logical_path": {\n "minLength": 1,\n "type": "string"\n },\n "observed_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "occurrence_id": {\n "pattern": "^occ_[a-f0-9]{64}$",\n "type": "string"\n },\n "parent_artifact_id": {\n "pattern": "^art_[a-f0-9]{64}$",\n "type": "string"\n },\n "provenance": {\n "const": "container-integrity-metadata-versus-observed-bytes",\n "type": "string"\n },\n "trust": {\n "const": "observed-untrusted",\n "type": "string"\n },\n "unpacked": {\n "type": "boolean"\n }\n },\n "required": [\n "contradiction_id",\n "occurrence_id",\n "parent_artifact_id",\n "logical_path",\n "declared_sha256",\n "observed_sha256",\n "entry_kind",\n "unpacked",\n "trust",\n "provenance",\n "limitations"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "manifest": {\n "additionalProperties": false,\n "properties": {\n "edge_count": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "graph_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "manifest_id": {\n "pattern": "^agm_[a-f0-9]{64}$",\n "type": "string"\n },\n "node_count": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "occurrence_count": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "root_artifact_id": {\n "pattern": "^art_[a-f0-9]{64}$",\n "type": "string"\n },\n "root_format": {\n "enum": [\n "dmg",\n "zip",\n "pkg",\n "asar",\n "javascript-bundle",\n "source-map",\n "mach-o-universal",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "hopper",\n "analysis-database",\n "ipa",\n "apk",\n "msix",\n "appx",\n "plist",\n "entitlements",\n "directory",\n "file",\n "unknown"\n ],\n "type": "string"\n },\n "root_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "manifest_id",\n "root_artifact_id",\n "root_sha256",\n "root_format",\n "graph_sha256",\n "node_count",\n "occurrence_count",\n "edge_count"\n ],\n "type": "object"\n },\n "output_root": {\n "minLength": 1,\n "type": "string"\n },\n "provenance": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "arguments": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "effects": {\n "items": {\n "enum": [\n "read",\n "write",\n "mount"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "executable_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "exit_code": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": -9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "tool": {\n "minLength": 1,\n "type": "string"\n },\n "tool_version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "tool",\n "arguments",\n "tool_version",\n "executable_sha256",\n "exit_code",\n "effects"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "manifest",\n "extraction_manifest",\n "output_root",\n "artifacts",\n "containment_verified",\n "cleanup",\n "provenance",\n "integrity_contradictions",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Extract Artifact"\n },\n {\n "analysisOperation": "decode_interface_builder",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Decode compiled storyboard and nib archives inside the active Apple app bundle, including keyed property lists and NIBArchive object tables, into a bounded object, hierarchy, and connection graph. This is static archive parsing; unrecognized archive classes and unresolved code handlers remain explicit unknowns.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {}\n ],\n "properties": {\n "max_connections": {\n "default": 40000,\n "description": "Maximum permitted connections for this operation.",\n "maximum": 40000,\n "minimum": 1,\n "type": "integer"\n },\n "max_documents": {\n "default": 64,\n "description": "Maximum permitted documents for this operation.",\n "maximum": 64,\n "minimum": 1,\n "type": "integer"\n },\n "max_objects": {\n "default": 20000,\n "description": "Maximum permitted objects for this operation.",\n "maximum": 20000,\n "minimum": 1,\n "type": "integer"\n }\n },\n "type": "object"\n },\n "kind": "artifact-provider",\n "name": "decode_interface_builder",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "documents": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "archive_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "connection_count": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "document_kind": {\n "enum": [\n "nib",\n "storyboard_scene"\n ],\n "type": "string"\n },\n "hierarchy_complete": {\n "type": "boolean"\n },\n "object_count": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "relative_path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "relative_path",\n "archive_sha256",\n "document_kind",\n "object_count",\n "connection_count",\n "hierarchy_complete"\n ],\n "type": "object"\n },\n "maxItems": 64,\n "type": "array"\n },\n "graph": {\n "additionalProperties": false,\n "properties": {\n "coverage": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "examined": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "facet": {\n "minLength": 1,\n "type": "string"\n },\n "omitted": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "reason": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "enum": [\n "complete",\n "partial",\n "unsupported",\n "not_requested"\n ],\n "type": "string"\n }\n },\n "required": [\n "facet",\n "status",\n "reason",\n "examined",\n "omitted"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "edges": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "artifact_path": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "artifact_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "description": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "enum": [\n "binary_metadata",\n "interface_builder_resource",\n "symbol",\n "reference",\n "decompiler"\n ],\n "type": "string"\n },\n "location": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "file_offset": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "address",\n "file_offset"\n ],\n "type": "object"\n }\n },\n "required": [\n "kind",\n "description",\n "location",\n "artifact_path",\n "artifact_sha256"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "from": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "relation": {\n "enum": [\n "contains",\n "outlet_to",\n "target_action",\n "segue_to",\n "objc_dispatch",\n "swift_witness_dispatch",\n "swift_vtable_dispatch",\n "thunk_to",\n "direct_call",\n "indirect_call",\n "provider_call",\n "reads",\n "writes",\n "flows_to",\n "controls"\n ],\n "type": "string"\n },\n "resolution": {\n "enum": [\n "observed",\n "inferred",\n "resolved",\n "ambiguous"\n ],\n "type": "string"\n },\n "to": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "from",\n "to",\n "relation",\n "resolution",\n "evidence",\n "limitations"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "artifact_path": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "artifact_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "description": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "enum": [\n "binary_metadata",\n "interface_builder_resource",\n "symbol",\n "reference",\n "decompiler"\n ],\n "type": "string"\n },\n "location": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "file_offset": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "address",\n "file_offset"\n ],\n "type": "object"\n }\n },\n "required": [\n "kind",\n "description",\n "location",\n "artifact_path",\n "artifact_sha256"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "from": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "reason": {\n "minLength": 1,\n "type": "string"\n },\n "relation": {\n "enum": [\n "contains",\n "outlet_to",\n "target_action",\n "segue_to",\n "objc_dispatch",\n "swift_witness_dispatch",\n "swift_vtable_dispatch",\n "thunk_to",\n "direct_call",\n "indirect_call",\n "provider_call",\n "reads",\n "writes",\n "flows_to",\n "controls"\n ],\n "type": "string"\n },\n "resolution": {\n "const": "unresolved",\n "type": "string"\n },\n "to": {\n "type": "null"\n }\n },\n "required": [\n "id",\n "from",\n "to",\n "relation",\n "resolution",\n "reason",\n "evidence",\n "limitations"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "nodes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "attributes": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "evidence": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "artifact_path": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "artifact_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "description": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "enum": [\n "binary_metadata",\n "interface_builder_resource",\n "symbol",\n "reference",\n "decompiler"\n ],\n "type": "string"\n },\n "location": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "file_offset": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "address",\n "file_offset"\n ],\n "type": "object"\n }\n },\n "required": [\n "kind",\n "description",\n "location",\n "artifact_path",\n "artifact_sha256"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "enum": [\n "storyboard",\n "scene",\n "view_controller",\n "view",\n "control",\n "constraint",\n "layout_guide",\n "resource",\n "placeholder",\n "external_object",\n "outlet",\n "action",\n "segue",\n "objc_class",\n "objc_selector",\n "swift_declaration",\n "swift_requirement",\n "dispatch_table",\n "dispatch_slot",\n "thunk",\n "function",\n "state_value",\n "global_value",\n "field",\n "branch_condition",\n "sink",\n "unknown"\n ],\n "type": "string"\n },\n "location": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "file_offset": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "address",\n "file_offset"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "kind",\n "name",\n "location",\n "attributes",\n "evidence"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "tool_version": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "version",\n "tool_version"\n ],\n "type": "object"\n },\n "target_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "truncated": {\n "type": "boolean"\n }\n },\n "required": [\n "target_sha256",\n "provider",\n "nodes",\n "edges",\n "coverage",\n "truncated"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "target_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "target_sha256",\n "documents",\n "graph",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Decode Interface Builder"\n },\n {\n "analysisOperation": "inspect_keyed_archive",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Inspect one Foundation NSKeyedArchiver plist in the active app bundle as original object-table nodes, class descriptors, named roots, and UID edges. Preserves shared and cyclic references without instantiating classes. The path is relative to the bundle; root selection and object pagination preserve original identities.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "path": "Contents/Resources/Model.plist"\n }\n ],\n "properties": {\n "limit": {\n "default": 20000,\n "description": "Value for limit.",\n "maximum": 20000,\n "minimum": 1,\n "type": "integer"\n },\n "offset": {\n "default": 0,\n "description": "Value for offset.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "default": ".",\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "root": {\n "description": "Value for root.",\n "type": "string"\n }\n },\n "type": "object"\n },\n "kind": "artifact-provider",\n "name": "inspect_keyed_archive",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "archive_format": {\n "enum": [\n "binary-plist",\n "xml-plist"\n ],\n "type": "string"\n },\n "archive_path": {\n "type": "string"\n },\n "archive_sha256": {\n "type": "string"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "next_offset": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "objects": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "class_id": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "class_name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "id": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "enum": [\n "nil",\n "scalar",\n "array",\n "dictionary",\n "class-descriptor",\n "archived-object"\n ],\n "type": "string"\n },\n "status": {\n "enum": [\n "observed",\n "unknown-class",\n "unresolved-class",\n "nil"\n ],\n "type": "string"\n },\n "value": {\n "$ref": "#/$defs/__schema0"\n }\n },\n "required": [\n "id",\n "kind",\n "class_id",\n "class_name",\n "status",\n "value"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "references": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "path": {\n "items": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n ]\n },\n "type": "array"\n },\n "raw": {\n "$ref": "#/$defs/__schema0"\n },\n "source": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "enum": [\n "resolved",\n "nil",\n "unresolved",\n "malformed"\n ],\n "type": "string"\n },\n "target": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "source",\n "path",\n "target",\n "status",\n "raw"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "roots": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "target_sha256": {\n "type": "string"\n },\n "total_objects": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "total_references": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "truncated": {\n "type": "boolean"\n }\n },\n "required": [\n "target_sha256",\n "archive_path",\n "archive_sha256",\n "archive_format",\n "roots",\n "objects",\n "references",\n "total_objects",\n "total_references",\n "offset",\n "next_offset",\n "truncated",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Inspect Keyed Archive"\n },\n {\n "analysisOperation": "inspect_asset_catalog",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": true,\n "readOnlyHint": false\n },\n "description": "Inspect compiled Assets.car metadata in an active Apple app bundle. Returns stable paginated catalog and rendition records with raw assetutil metadata and catalog digests; rendition bytes are not extracted.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": true,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "limit": 1000,\n "offset": 0\n }\n ],\n "properties": {\n "limit": {\n "default": 1000,\n "description": "Value for limit.",\n "maximum": 10000,\n "minimum": 1,\n "type": "integer"\n },\n "offset": {\n "default": 0,\n "description": "Value for offset.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "type": "object"\n },\n "kind": "artifact-provider",\n "name": "inspect_asset_catalog",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "catalogs": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "path": {\n "minLength": 1,\n "type": "string"\n },\n "record_count": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "path",\n "sha256",\n "record_count"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "limit": {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "next_offset": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "records": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "asset_name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "catalog_path": {\n "minLength": 1,\n "type": "string"\n },\n "catalog_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "index": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "enum": [\n "catalog",\n "rendition"\n ],\n "type": "string"\n },\n "metadata": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "rendition_name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "catalog_path",\n "catalog_sha256",\n "index",\n "kind",\n "asset_name",\n "rendition_name",\n "metadata"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "resource_key_matches": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "field": {\n "minLength": 1,\n "type": "string"\n },\n "key": {\n "minLength": 1,\n "type": "string"\n },\n "renditions": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "catalog_path": {\n "minLength": 1,\n "type": "string"\n },\n "catalog_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "record_index": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "rendition_name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "catalog_path",\n "catalog_sha256",\n "record_index",\n "rendition_name"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "source_archive_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "source_node_id": {\n "minLength": 1,\n "type": "string"\n },\n "source_path": {\n "minLength": 1,\n "type": "string"\n },\n "status": {\n "enum": [\n "matched",\n "ambiguous",\n "unmatched"\n ],\n "type": "string"\n }\n },\n "required": [\n "source_node_id",\n "source_path",\n "source_archive_sha256",\n "field",\n "key",\n "status",\n "renditions"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "target_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "total_records": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "truncated": {\n "type": "boolean"\n }\n },\n "required": [\n "target_sha256",\n "catalogs",\n "total_records",\n "offset",\n "limit",\n "records",\n "resource_key_matches",\n "next_offset",\n "truncated",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Inspect Asset Catalog"\n },\n {\n "analysisOperation": "inspect_managed_artifact",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "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 complete inline inventories when metadata is admitted and explicit partial or malformed coverage otherwise.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {\n "path": "/tmp/Example.dll"\n }\n ],\n "properties": {\n "path": {\n "description": "Explicit managed PE/CLI path; omit to reuse the previously selected managed target",\n "minLength": 1,\n "type": "string"\n }\n },\n "type": "object"\n },\n "kind": "managed-provider",\n "name": "inspect_managed_artifact",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "artifact": {\n "additionalProperties": false,\n "properties": {\n "byte_length": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "format": {\n "const": "pe",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "path",\n "sha256",\n "byte_length",\n "format"\n ],\n "type": "object"\n },\n "assembly": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "culture": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "flags": {\n "maximum": 4294967295,\n "minimum": 0,\n "type": "integer"\n },\n "hash_algorithm": {\n "maximum": 4294967295,\n "minimum": 0,\n "type": "integer"\n },\n "name": {\n "type": "string"\n },\n "public_key": {\n "additionalProperties": false,\n "properties": {\n "byte_length": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "enum": [\n "none",\n "public-key",\n "public-key-token"\n ],\n "type": "string"\n },\n "sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "token": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{16}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "kind",\n "byte_length",\n "sha256",\n "token"\n ],\n "type": "object"\n },\n "row_offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "token": {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n },\n "version": {\n "pattern": "^\\\\d+\\\\.\\\\d+\\\\.\\\\d+\\\\.\\\\d+$",\n "type": "string"\n }\n },\n "required": [\n "name",\n "version",\n "culture",\n "flags",\n "hash_algorithm",\n "public_key",\n "token",\n "row_offset"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "attributes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "constructor_token": {\n "anyOf": [\n {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "decoded_fixed_string": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "parent_token": {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n },\n "row_offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "token": {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n },\n "type_name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "value_length": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "value_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "parent_token",\n "constructor_token",\n "type_name",\n "value_length",\n "value_sha256",\n "decoded_fixed_string",\n "token",\n "row_offset"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "classification": {\n "additionalProperties": false,\n "properties": {\n "container": {\n "const": "pe",\n "type": "string"\n },\n "evidence": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "code": {\n "minLength": 1,\n "type": "string"\n },\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "file_offset": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "code",\n "detail",\n "file_offset"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "implementation": {\n "enum": [\n "cil",\n "cil-and-ready-to-run",\n "cpp-cli-mixed",\n "metadata-only",\n "not-managed",\n "unknown"\n ],\n "type": "string"\n },\n "managed_architecture": {\n "enum": [\n "anycpu",\n "anycpu-prefer-32",\n "x86",\n "x86_64",\n "arm",\n "arm64",\n "unknown"\n ],\n "type": "string"\n },\n "runtime_family": {\n "enum": [\n "dotnet-framework",\n "modern-dotnet",\n "unity-mono",\n "mixed-clr-native",\n "unknown"\n ],\n "type": "string"\n },\n "status": {\n "enum": [\n "managed",\n "not-managed",\n "malformed"\n ],\n "type": "string"\n }\n },\n "required": [\n "status",\n "container",\n "runtime_family",\n "implementation",\n "managed_architecture",\n "evidence"\n ],\n "type": "object"\n },\n "coverage": {\n "additionalProperties": false,\n "properties": {\n "issues": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "code": {\n "enum": [\n "invalid-cli-header",\n "invalid-directory",\n "invalid-metadata-root",\n "invalid-stream",\n "missing-stream",\n "invalid-tables",\n "invalid-row",\n "invalid-heap-index",\n "invalid-string",\n "invalid-blob",\n "unsupported-signature",\n "invalid-guid",\n "invalid-resource"\n ],\n "type": "string"\n },\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "offset": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "scope": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "code",\n "scope",\n "offset",\n "detail"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "state": {\n "enum": [\n "complete",\n "partial",\n "unavailable"\n ],\n "type": "string"\n }\n },\n "required": [\n "state",\n "issues"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "metadata": {\n "additionalProperties": false,\n "properties": {\n "status": {\n "enum": [\n "absent",\n "complete",\n "partial",\n "malformed"\n ],\n "type": "string"\n },\n "stream_names": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "table_row_counts": {\n "additionalProperties": {\n "maximum": 4294967295,\n "minimum": 0,\n "type": "integer"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "status",\n "version",\n "stream_names",\n "table_row_counts"\n ],\n "type": "object"\n },\n "module": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "enc_base_id": {\n "anyOf": [\n {\n "pattern": "^[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "enc_id": {\n "anyOf": [\n {\n "pattern": "^[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "generation": {\n "maximum": 65535,\n "minimum": 0,\n "type": "integer"\n },\n "mvid": {\n "anyOf": [\n {\n "pattern": "^[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "type": "string"\n },\n "row_offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "token": {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n }\n },\n "required": [\n "name",\n "generation",\n "mvid",\n "enc_id",\n "enc_base_id",\n "token",\n "row_offset"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "pe": {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n "characteristics": {\n "maximum": 65535,\n "minimum": 0,\n "type": "integer"\n },\n "cli": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "entry_point": {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "enum": [\n "metadata-token",\n "native-rva",\n "none"\n ],\n "type": "string"\n },\n "value": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "kind",\n "value"\n ],\n "type": "object"\n },\n "flag_names": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "flags": {\n "maximum": 4294967295,\n "minimum": 0,\n "type": "integer"\n },\n "header_offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "header_size": {\n "maximum": 9007199254740991,\n "minimum": 72,\n "type": "integer"\n },\n "managed_native_header_rva": {\n "maximum": 4294967295,\n "minimum": 0,\n "type": "integer"\n },\n "managed_native_header_size": {\n "maximum": 4294967295,\n "minimum": 0,\n "type": "integer"\n },\n "metadata_rva": {\n "maximum": 4294967295,\n "minimum": 1,\n "type": "integer"\n },\n "metadata_size": {\n "maximum": 4294967295,\n "minimum": 1,\n "type": "integer"\n },\n "ready_to_run_signature": {\n "type": "boolean"\n },\n "resources_rva": {\n "maximum": 4294967295,\n "minimum": 0,\n "type": "integer"\n },\n "resources_size": {\n "maximum": 4294967295,\n "minimum": 0,\n "type": "integer"\n },\n "runtime_version": {\n "type": "string"\n },\n "strong_name_rva": {\n "maximum": 4294967295,\n "minimum": 0,\n "type": "integer"\n },\n "strong_name_size": {\n "maximum": 4294967295,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "header_offset",\n "header_size",\n "runtime_version",\n "flags",\n "flag_names",\n "entry_point",\n "metadata_rva",\n "metadata_size",\n "resources_rva",\n "resources_size",\n "strong_name_rva",\n "strong_name_size",\n "managed_native_header_rva",\n "managed_native_header_size",\n "ready_to_run_signature"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "machine": {\n "maximum": 65535,\n "minimum": 0,\n "type": "integer"\n },\n "machine_hex": {\n "pattern": "^0x[0-9a-f]{4}$",\n "type": "string"\n },\n "optional_header": {\n "enum": [\n "pe32",\n "pe32-plus"\n ],\n "type": "string"\n },\n "section_count": {\n "maximum": 65535,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "machine",\n "machine_hex",\n "architecture",\n "optional_header",\n "section_count",\n "characteristics",\n "cli"\n ],\n "type": "object"\n },\n "references": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "culture": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "flags": {\n "maximum": 4294967295,\n "minimum": 0,\n "type": "integer"\n },\n "hash_value_length": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "hash_value_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "type": "string"\n },\n "public_key_or_token": {\n "additionalProperties": false,\n "properties": {\n "byte_length": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "enum": [\n "none",\n "public-key",\n "public-key-token"\n ],\n "type": "string"\n },\n "sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "token": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{16}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "kind",\n "byte_length",\n "sha256",\n "token"\n ],\n "type": "object"\n },\n "row_offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "token": {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n },\n "version": {\n "pattern": "^\\\\d+\\\\.\\\\d+\\\\.\\\\d+\\\\.\\\\d+$",\n "type": "string"\n }\n },\n "required": [\n "name",\n "version",\n "culture",\n "flags",\n "public_key_or_token",\n "hash_value_sha256",\n "hash_value_length",\n "token",\n "row_offset"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "resources": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "data_length": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "data_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "declared_offset": {\n "maximum": 4294967295,\n "minimum": 0,\n "type": "integer"\n },\n "embedded": {\n "type": "boolean"\n },\n "flags": {\n "maximum": 4294967295,\n "minimum": 0,\n "type": "integer"\n },\n "implementation_token": {\n "anyOf": [\n {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "type": "string"\n },\n "row_offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "token": {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n },\n "visibility": {\n "enum": [\n "public",\n "private",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "name",\n "flags",\n "visibility",\n "implementation_token",\n "embedded",\n "declared_offset",\n "data_length",\n "data_sha256",\n "token",\n "row_offset"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "target_frameworks": {\n "items": {\n "type": "string"\n },\n "type": "array"\n }\n },\n "required": [\n "artifact",\n "pe",\n "classification",\n "metadata",\n "module",\n "assembly",\n "target_frameworks",\n "references",\n "resources",\n "attributes",\n "coverage",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Inspect Managed Artifact"\n },\n {\n "analysisOperation": "inspect_managed_members",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Inspect PE/CLI metadata members, signatures, raw CIL hashes, 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 tuple hash does not resolve them or fully commit control flow.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {}\n ],\n "properties": {\n "path": {\n "description": "Explicit managed PE/CLI path; omit to reuse the previously selected managed target",\n "minLength": 1,\n "type": "string"\n }\n },\n "type": "object"\n },\n "kind": "managed-provider",\n "name": "inspect_managed_members",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "artifact": {\n "additionalProperties": false,\n "properties": {\n "byte_length": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "format": {\n "const": "pe",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "path",\n "sha256",\n "byte_length",\n "format"\n ],\n "type": "object"\n },\n "call_edges": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "caller": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "caller_token": {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n },\n "opcode": {\n "type": "string"\n },\n "target_kind": {\n "enum": [\n "method-def",\n "member-ref",\n "method-spec",\n "unknown"\n ],\n "type": "string"\n },\n "target_name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "target_token": {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n }\n },\n "required": [\n "caller_token",\n "caller",\n "opcode",\n "target_token",\n "target_kind",\n "target_name"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "coverage": {\n "additionalProperties": false,\n "properties": {\n "issues": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "code": {\n "enum": [\n "invalid-cli-header",\n "invalid-directory",\n "invalid-metadata-root",\n "invalid-stream",\n "missing-stream",\n "invalid-tables",\n "invalid-row",\n "invalid-heap-index",\n "invalid-string",\n "invalid-blob",\n "unsupported-signature",\n "invalid-guid",\n "invalid-resource"\n ],\n "type": "string"\n },\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "offset": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "scope": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "code",\n "scope",\n "offset",\n "detail"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "state": {\n "enum": [\n "complete",\n "partial",\n "unavailable"\n ],\n "type": "string"\n }\n },\n "required": [\n "state",\n "issues"\n ],\n "type": "object"\n },\n "field_accesses": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "field_name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "field_token": {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n },\n "method": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "method_token": {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n },\n "opcode": {\n "type": "string"\n }\n },\n "required": [\n "method_token",\n "method",\n "opcode",\n "field_token",\n "field_name"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "fields": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "declaring_type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "declaring_type_token": {\n "anyOf": [\n {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "flags": {\n "maximum": 65535,\n "minimum": 0,\n "type": "integer"\n },\n "name": {\n "type": "string"\n },\n "row_offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "signature": {\n "additionalProperties": false,\n "properties": {\n "calling_convention": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "field_type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "generic_parameter_count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "issue": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "kind": {\n "enum": [\n "method",\n "field",\n "unknown"\n ],\n "type": "string"\n },\n "parameter_count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "parameter_types": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "parse_status": {\n "enum": [\n "decoded",\n "partial",\n "unsupported",\n "malformed"\n ],\n "type": "string"\n },\n "raw_length": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "raw_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "return_type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "raw_length",\n "raw_sha256",\n "kind",\n "parse_status",\n "calling_convention",\n "generic_parameter_count",\n "parameter_count",\n "return_type",\n "parameter_types",\n "field_type",\n "issue"\n ],\n "type": "object"\n },\n "token": {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n }\n },\n "required": [\n "token",\n "row_offset",\n "declaring_type_token",\n "declaring_type",\n "name",\n "flags",\n "signature"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "identity_scope": {\n "additionalProperties": false,\n "properties": {\n "requires_artifact_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "requires_mvid": {\n "anyOf": [\n {\n "pattern": "^[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "token_identity": {\n "const": "build-local",\n "type": "string"\n }\n },\n "required": [\n "token_identity",\n "requires_artifact_sha256",\n "requires_mvid"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "member_refs": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "type": "string"\n },\n "parent_token": {\n "anyOf": [\n {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "row_offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "signature": {\n "additionalProperties": false,\n "properties": {\n "calling_convention": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "field_type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "generic_parameter_count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "issue": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "kind": {\n "enum": [\n "method",\n "field",\n "unknown"\n ],\n "type": "string"\n },\n "parameter_count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "parameter_types": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "parse_status": {\n "enum": [\n "decoded",\n "partial",\n "unsupported",\n "malformed"\n ],\n "type": "string"\n },\n "raw_length": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "raw_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "return_type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "raw_length",\n "raw_sha256",\n "kind",\n "parse_status",\n "calling_convention",\n "generic_parameter_count",\n "parameter_count",\n "return_type",\n "parameter_types",\n "field_type",\n "issue"\n ],\n "type": "object"\n },\n "token": {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n }\n },\n "required": [\n "token",\n "row_offset",\n "parent_token",\n "name",\n "signature"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "metadata": {\n "additionalProperties": false,\n "properties": {\n "status": {\n "enum": [\n "absent",\n "complete",\n "partial",\n "malformed"\n ],\n "type": "string"\n },\n "table_row_counts": {\n "additionalProperties": {\n "maximum": 4294967295,\n "minimum": 0,\n "type": "integer"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "status",\n "version",\n "table_row_counts"\n ],\n "type": "object"\n },\n "methods": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "body": {\n "additionalProperties": false,\n "properties": {\n "anchors": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "il_offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "opcode": {\n "minLength": 1,\n "type": "string"\n },\n "operand": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "operand_kind": {\n "enum": [\n "none",\n "branch",\n "constant",\n "field",\n "method",\n "signature",\n "string",\n "switch",\n "token",\n "type",\n "variable",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "il_offset",\n "opcode",\n "operand_kind",\n "operand"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "decoded_instruction_count": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "exception_regions": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "class_token": {\n "anyOf": [\n {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "filter_offset": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "flags": {\n "maximum": 4294967295,\n "minimum": 0,\n "type": "integer"\n },\n "handler_length": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "handler_offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "try_length": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "try_offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "flags",\n "try_offset",\n "try_length",\n "handler_offset",\n "handler_length",\n "class_token",\n "filter_offset"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "file_offset": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "header_format": {\n "enum": [\n "tiny",\n "fat",\n "none",\n "unknown"\n ],\n "type": "string"\n },\n "il_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "SHA-256 of exactly the raw il_size CIL bytes; excludes the method header, locals signature, alignment, and extra sections"\n },\n "il_size": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "init_locals": {\n "anyOf": [\n {\n "type": "boolean"\n },\n {\n "type": "null"\n }\n ]\n },\n "instruction_count": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "issue": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "local_var_sig_token": {\n "anyOf": [\n {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "max_stack": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "normalized_il_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "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"\n },\n "opcode_counts": {\n "additionalProperties": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "rva": {\n "maximum": 4294967295,\n "minimum": 0,\n "type": "integer"\n },\n "status": {\n "enum": [\n "present",\n "partial",\n "absent",\n "malformed"\n ],\n "type": "string"\n },\n "truncated_instructions": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "status",\n "header_format",\n "rva",\n "file_offset",\n "max_stack",\n "init_locals",\n "local_var_sig_token",\n "il_size",\n "il_sha256",\n "normalized_il_sha256",\n "instruction_count",\n "decoded_instruction_count",\n "truncated_instructions",\n "opcode_counts",\n "anchors",\n "exception_regions",\n "issue"\n ],\n "type": "object"\n },\n "declaring_type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "declaring_type_token": {\n "anyOf": [\n {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "flags": {\n "maximum": 65535,\n "minimum": 0,\n "type": "integer"\n },\n "impl_flags": {\n "maximum": 65535,\n "minimum": 0,\n "type": "integer"\n },\n "name": {\n "type": "string"\n },\n "row_offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "rva": {\n "maximum": 4294967295,\n "minimum": 0,\n "type": "integer"\n },\n "signature": {\n "additionalProperties": false,\n "properties": {\n "calling_convention": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "field_type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "generic_parameter_count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "issue": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "kind": {\n "enum": [\n "method",\n "field",\n "unknown"\n ],\n "type": "string"\n },\n "parameter_count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "parameter_types": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "parse_status": {\n "enum": [\n "decoded",\n "partial",\n "unsupported",\n "malformed"\n ],\n "type": "string"\n },\n "raw_length": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "raw_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "return_type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "raw_length",\n "raw_sha256",\n "kind",\n "parse_status",\n "calling_convention",\n "generic_parameter_count",\n "parameter_count",\n "return_type",\n "parameter_types",\n "field_type",\n "issue"\n ],\n "type": "object"\n },\n "token": {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n }\n },\n "required": [\n "token",\n "row_offset",\n "declaring_type_token",\n "declaring_type",\n "name",\n "rva",\n "impl_flags",\n "flags",\n "signature",\n "body"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "module": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "enc_base_id": {\n "anyOf": [\n {\n "pattern": "^[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "enc_id": {\n "anyOf": [\n {\n "pattern": "^[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "generation": {\n "maximum": 65535,\n "minimum": 0,\n "type": "integer"\n },\n "mvid": {\n "anyOf": [\n {\n "pattern": "^[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "type": "string"\n },\n "row_offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "token": {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n }\n },\n "required": [\n "name",\n "generation",\n "mvid",\n "enc_id",\n "enc_base_id",\n "token",\n "row_offset"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "types": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "extends_token": {\n "anyOf": [\n {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "field_list": {\n "additionalProperties": false,\n "properties": {\n "count": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "first_row": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "last_row": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "first_row",\n "last_row",\n "count"\n ],\n "type": "object"\n },\n "flags": {\n "maximum": 4294967295,\n "minimum": 0,\n "type": "integer"\n },\n "full_name": {\n "type": "string"\n },\n "method_list": {\n "additionalProperties": false,\n "properties": {\n "count": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "first_row": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "last_row": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "first_row",\n "last_row",\n "count"\n ],\n "type": "object"\n },\n "name": {\n "type": "string"\n },\n "namespace": {\n "type": "string"\n },\n "row_offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "token": {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n }\n },\n "required": [\n "token",\n "row_offset",\n "namespace",\n "name",\n "full_name",\n "flags",\n "extends_token",\n "field_list",\n "method_list"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "artifact",\n "module",\n "metadata",\n "identity_scope",\n "types",\n "fields",\n "methods",\n "member_refs",\n "call_edges",\n "field_accesses",\n "coverage",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Inspect Managed Members"\n },\n {\n "analysisOperation": "inspect_managed_native_boundaries",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "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.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {}\n ],\n "properties": {\n "path": {\n "description": "Explicit managed PE/CLI path; omit to reuse the previously selected managed target",\n "minLength": 1,\n "type": "string"\n }\n },\n "type": "object"\n },\n "kind": "managed-provider",\n "name": "inspect_managed_native_boundaries",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "artifact": {\n "additionalProperties": false,\n "properties": {\n "byte_length": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "format": {\n "const": "pe",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "path",\n "sha256",\n "byte_length",\n "format"\n ],\n "type": "object"\n },\n "cli_native": {\n "additionalProperties": false,\n "properties": {\n "il_only": {\n "type": "boolean"\n },\n "managed_native_header_rva": {\n "maximum": 4294967295,\n "minimum": 0,\n "type": "integer"\n },\n "managed_native_header_size": {\n "maximum": 4294967295,\n "minimum": 0,\n "type": "integer"\n },\n "native_entry_point": {\n "type": "boolean"\n },\n "ready_to_run_signature": {\n "type": "boolean"\n },\n "requires_32bit": {\n "type": "boolean"\n },\n "strong_name_signed": {\n "type": "boolean"\n }\n },\n "required": [\n "il_only",\n "requires_32bit",\n "strong_name_signed",\n "native_entry_point",\n "ready_to_run_signature",\n "managed_native_header_rva",\n "managed_native_header_size"\n ],\n "type": "object"\n },\n "coverage": {\n "additionalProperties": false,\n "properties": {\n "issues": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "code": {\n "enum": [\n "invalid-cli-header",\n "invalid-directory",\n "invalid-metadata-root",\n "invalid-stream",\n "missing-stream",\n "invalid-tables",\n "invalid-row",\n "invalid-heap-index",\n "invalid-string",\n "invalid-blob",\n "unsupported-signature",\n "invalid-guid",\n "invalid-resource"\n ],\n "type": "string"\n },\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "offset": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "scope": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "code",\n "scope",\n "offset",\n "detail"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "state": {\n "enum": [\n "complete",\n "partial",\n "unavailable"\n ],\n "type": "string"\n }\n },\n "required": [\n "state",\n "issues"\n ],\n "type": "object"\n },\n "identity_scope": {\n "additionalProperties": false,\n "properties": {\n "requires_artifact_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "requires_mvid": {\n "anyOf": [\n {\n "pattern": "^[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "token_identity": {\n "const": "build-local",\n "type": "string"\n }\n },\n "required": [\n "token_identity",\n "requires_artifact_sha256",\n "requires_mvid"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "metadata": {\n "additionalProperties": false,\n "properties": {\n "status": {\n "enum": [\n "absent",\n "complete",\n "partial",\n "malformed"\n ],\n "type": "string"\n },\n "table_row_counts": {\n "additionalProperties": {\n "maximum": 4294967295,\n "minimum": 0,\n "type": "integer"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "status",\n "version",\n "table_row_counts"\n ],\n "type": "object"\n },\n "module": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "enc_base_id": {\n "anyOf": [\n {\n "pattern": "^[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "enc_id": {\n "anyOf": [\n {\n "pattern": "^[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "generation": {\n "maximum": 65535,\n "minimum": 0,\n "type": "integer"\n },\n "mvid": {\n "anyOf": [\n {\n "pattern": "^[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "type": "string"\n },\n "row_offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "token": {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n }\n },\n "required": [\n "name",\n "generation",\n "mvid",\n "enc_id",\n "enc_base_id",\n "token",\n "row_offset"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "module_refs": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "type": "string"\n },\n "row_offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "token": {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n }\n },\n "required": [\n "token",\n "row_offset",\n "name"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "native_implementations": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "body_interpretation": {\n "enum": [\n "managed-cil",\n "native-or-runtime",\n "not-file-backed",\n "unknown"\n ],\n "type": "string"\n },\n "boundary_kind": {\n "enum": [\n "pinvoke",\n "native-body",\n "runtime-provided",\n "unmanaged-method",\n "mixed-or-unknown"\n ],\n "type": "string"\n },\n "code_type": {\n "enum": [\n "il",\n "native",\n "optil",\n "runtime",\n "unknown"\n ],\n "type": "string"\n },\n "flags": {\n "maximum": 65535,\n "minimum": 0,\n "type": "integer"\n },\n "impl_flags": {\n "maximum": 65535,\n "minimum": 0,\n "type": "integer"\n },\n "managed_kind": {\n "enum": [\n "managed",\n "unmanaged",\n "unknown"\n ],\n "type": "string"\n },\n "name": {\n "type": "string"\n },\n "pinvoke_declared": {\n "type": "boolean"\n },\n "row_offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "rva": {\n "maximum": 4294967295,\n "minimum": 0,\n "type": "integer"\n },\n "token": {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n }\n },\n "required": [\n "token",\n "row_offset",\n "name",\n "rva",\n "flags",\n "impl_flags",\n "code_type",\n "managed_kind",\n "pinvoke_declared",\n "boundary_kind",\n "body_interpretation"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "pinvoke_imports": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "best_fit": {\n "enum": [\n "assembly-default",\n "enabled",\n "disabled",\n "unknown"\n ],\n "type": "string"\n },\n "call_convention": {\n "enum": [\n "not-specified",\n "winapi",\n "cdecl",\n "stdcall",\n "thiscall",\n "fastcall",\n "unknown"\n ],\n "type": "string"\n },\n "char_set": {\n "enum": [\n "not-specified",\n "ansi",\n "unicode",\n "auto",\n "unknown"\n ],\n "type": "string"\n },\n "import_name": {\n "type": "string"\n },\n "import_scope_name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "import_scope_token": {\n "anyOf": [\n {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "mapping_flags": {\n "maximum": 65535,\n "minimum": 0,\n "type": "integer"\n },\n "mapping_flags_hex": {\n "pattern": "^0x[0-9a-f]{4}$",\n "type": "string"\n },\n "member_kind": {\n "enum": [\n "method",\n "field",\n "unknown"\n ],\n "type": "string"\n },\n "member_name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "member_token": {\n "anyOf": [\n {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "no_mangle": {\n "type": "boolean"\n },\n "row_offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "supports_last_error": {\n "type": "boolean"\n },\n "throw_on_unmappable_char": {\n "enum": [\n "assembly-default",\n "enabled",\n "disabled",\n "unknown"\n ],\n "type": "string"\n },\n "token": {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n },\n "verification": {\n "const": "managed-declaration-only",\n "type": "string"\n }\n },\n "required": [\n "token",\n "row_offset",\n "mapping_flags",\n "mapping_flags_hex",\n "member_token",\n "member_kind",\n "member_name",\n "import_name",\n "import_scope_token",\n "import_scope_name",\n "no_mangle",\n "char_set",\n "call_convention",\n "supports_last_error",\n "best_fit",\n "throw_on_unmappable_char",\n "verification"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "summary": {\n "additionalProperties": false,\n "properties": {\n "mixed_mode_or_native_header": {\n "type": "boolean"\n },\n "module_ref_count": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "native_implementation_count": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "pinvoke_import_count": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "ready_to_run": {\n "type": "boolean"\n }\n },\n "required": [\n "module_ref_count",\n "pinvoke_import_count",\n "native_implementation_count",\n "ready_to_run",\n "mixed_mode_or_native_header"\n ],\n "type": "object"\n }\n },\n "required": [\n "artifact",\n "module",\n "metadata",\n "identity_scope",\n "cli_native",\n "module_refs",\n "pinvoke_imports",\n "native_implementations",\n "summary",\n "coverage",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Inspect Managed Native Boundaries"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": true,\n "readOnlyHint": false\n },\n "description": "Inspect a local APK\'s package, SDK and permission declarations, decoded manifest and class/resource counts. Does not execute the APK or verify signatures. Requires a caller-supplied JADX MCP JAR and Java; uses one worker in an isolated temporary workspace.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": true,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": true\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "path": "/tmp/Example.apk"\n }\n ],\n "properties": {\n "path": {\n "description": "Local APK path; the target is never executed",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "path"\n ],\n "type": "object"\n },\n "kind": "android-provider",\n "name": "inspect_android_package",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "class_count": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "engine": {\n "additionalProperties": false,\n "properties": {\n "artifact_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "heap_limit_mib": {\n "anyOf": [\n {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "source_revision": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "worker_count": {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "version",\n "artifact_sha256",\n "source_revision",\n "worker_count",\n "heap_limit_mib"\n ],\n "type": "object"\n },\n "manifest": {\n "additionalProperties": false,\n "properties": {\n "reported_total_bytes": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "enum": [\n "complete",\n "partial"\n ],\n "type": "string"\n },\n "text": {\n "type": "string"\n }\n },\n "required": [\n "status",\n "text",\n "reported_total_bytes"\n ],\n "type": "object"\n },\n "min_sdk": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "package_name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "permissions": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "resource_count": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "signature_verification": {\n "const": "not_performed",\n "type": "string"\n },\n "target_sdk": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "version_code": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "version_name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "engine",\n "package_name",\n "version_name",\n "version_code",\n "min_sdk",\n "target_sdk",\n "permissions",\n "manifest",\n "class_count",\n "resource_count",\n "signature_verification"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Inspect Android Package"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": true,\n "readOnlyHint": false\n },\n "description": "Search complete decompiler class names in an explicit local APK by case-sensitive substring. Empty query inventories all classes. Retains artifact and engine identity; no APK execution.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": true,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": true\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "path": "/tmp/Example.apk",\n "query": "Activity"\n }\n ],\n "properties": {\n "path": {\n "description": "Local APK path; the target is never executed",\n "minLength": 1,\n "type": "string"\n },\n "query": {\n "description": "Case-sensitive class-name substring; empty lists all classes",\n "type": "string"\n }\n },\n "required": [\n "path",\n "query"\n ],\n "type": "object"\n },\n "kind": "android-provider",\n "name": "search_android_classes",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "coverage": {\n "const": "complete",\n "type": "string"\n },\n "engine": {\n "additionalProperties": false,\n "properties": {\n "artifact_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "heap_limit_mib": {\n "anyOf": [\n {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "source_revision": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "worker_count": {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "version",\n "artifact_sha256",\n "source_revision",\n "worker_count",\n "heap_limit_mib"\n ],\n "type": "object"\n },\n "matches": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "query": {\n "type": "string"\n },\n "total_classes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "engine",\n "query",\n "total_classes",\n "matches",\n "coverage"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Search Android Classes"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": true,\n "readOnlyHint": false\n },\n "description": "Inspect one exact Android class\'s methods, fields and inner classes. Returns display signatures and explicit unknown DEX descriptors without materializing the whole application source.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": true,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": true\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "class_name": "example.MainActivity",\n "path": "/tmp/Example.apk"\n }\n ],\n "properties": {\n "class_name": {\n "description": "Exact fully qualified class name",\n "minLength": 1,\n "type": "string"\n },\n "path": {\n "description": "Local APK path; the target is never executed",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "path",\n "class_name"\n ],\n "type": "object"\n },\n "kind": "android-provider",\n "name": "inspect_android_class",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "class_name": {\n "type": "string"\n },\n "engine": {\n "additionalProperties": false,\n "properties": {\n "artifact_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "heap_limit_mib": {\n "anyOf": [\n {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "source_revision": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "worker_count": {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "version",\n "artifact_sha256",\n "source_revision",\n "worker_count",\n "heap_limit_mib"\n ],\n "type": "object"\n },\n "fields": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "type": "string"\n },\n "reported_type": {\n "type": "string"\n }\n },\n "required": [\n "name",\n "reported_type"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "inner_classes": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "methods": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "dex_descriptor": {\n "type": "null"\n },\n "is_constructor": {\n "type": "boolean"\n },\n "name": {\n "type": "string"\n },\n "overload_index": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "reported_signature": {\n "type": "string"\n }\n },\n "required": [\n "name",\n "reported_signature",\n "overload_index",\n "is_constructor",\n "dex_descriptor"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "engine",\n "class_name",\n "methods",\n "fields",\n "inner_classes"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Inspect Android Class"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": true,\n "readOnlyHint": false\n },\n "description": "Decompile one Android method with smali fallback. Requires explicit overload_index when multiple methods share a name. Reports representation, fallback markers and source truncation; never treats display signatures as exact DEX identities.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": true,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": true\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "class_name": "example.MainActivity",\n "method_name": "onCreate",\n "path": "/tmp/Example.apk"\n }\n ],\n "properties": {\n "class_name": {\n "description": "Exact fully qualified class name",\n "minLength": 1,\n "type": "string"\n },\n "method_name": {\n "description": "Value for method name.",\n "minLength": 1,\n "type": "string"\n },\n "overload_index": {\n "description": "Explicit index among same-name methods; required when ambiguous",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "description": "Local APK path; the target is never executed",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "path",\n "class_name",\n "method_name"\n ],\n "type": "object"\n },\n "kind": "android-provider",\n "name": "inspect_android_method",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "body_status": {\n "enum": [\n "available",\n "not_available"\n ],\n "type": "string"\n },\n "class_name": {\n "type": "string"\n },\n "engine": {\n "additionalProperties": false,\n "properties": {\n "artifact_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "heap_limit_mib": {\n "anyOf": [\n {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "source_revision": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "worker_count": {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "version",\n "artifact_sha256",\n "source_revision",\n "worker_count",\n "heap_limit_mib"\n ],\n "type": "object"\n },\n "fell_back": {\n "type": "boolean"\n },\n "markers": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "method": {\n "additionalProperties": false,\n "properties": {\n "dex_descriptor": {\n "type": "null"\n },\n "is_constructor": {\n "type": "boolean"\n },\n "name": {\n "type": "string"\n },\n "overload_index": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "reported_signature": {\n "type": "string"\n }\n },\n "required": [\n "name",\n "reported_signature",\n "overload_index",\n "is_constructor",\n "dex_descriptor"\n ],\n "type": "object"\n },\n "overload_count": {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n "representation": {\n "enum": [\n "java",\n "smali"\n ],\n "type": "string"\n },\n "source": {\n "additionalProperties": false,\n "properties": {\n "reported_total_bytes": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "enum": [\n "complete",\n "partial"\n ],\n "type": "string"\n },\n "text": {\n "type": "string"\n }\n },\n "required": [\n "status",\n "text",\n "reported_total_bytes"\n ],\n "type": "object"\n }\n },\n "required": [\n "engine",\n "class_name",\n "method",\n "overload_count",\n "representation",\n "body_status",\n "fell_back",\n "markers",\n "source"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Inspect Android Method"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": true,\n "readOnlyHint": false\n },\n "description": "Trace incoming static references to an exact Android class or unique method. Overloaded method reference queries are explicitly unsupported by the current engine. Source lines and DEX offsets remain unknown; no runtime calls are inferred.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": true,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": true\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "class_name": "example.MainActivity",\n "path": "/tmp/Example.apk"\n }\n ],\n "properties": {\n "class_name": {\n "description": "Exact fully qualified class name",\n "minLength": 1,\n "type": "string"\n },\n "method_name": {\n "description": "Omit for class references; ambiguous overloaded methods are unsupported",\n "minLength": 1,\n "type": "string"\n },\n "path": {\n "description": "Local APK path; the target is never executed",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "path",\n "class_name"\n ],\n "type": "object"\n },\n "kind": "android-provider",\n "name": "trace_android_references",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "class_name": {\n "type": "string"\n },\n "coverage": {\n "const": "complete",\n "type": "string"\n },\n "engine": {\n "additionalProperties": false,\n "properties": {\n "artifact_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "heap_limit_mib": {\n "anyOf": [\n {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "source_revision": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "worker_count": {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "version",\n "artifact_sha256",\n "source_revision",\n "worker_count",\n "heap_limit_mib"\n ],\n "type": "object"\n },\n "method_name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "references": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "containing_class": {\n "type": "string"\n },\n "dex_offset": {\n "type": "null"\n },\n "kind": {\n "type": "string"\n },\n "name": {\n "type": "string"\n },\n "reported_full_name": {\n "type": "string"\n },\n "source_line": {\n "type": "null"\n },\n "top_class": {\n "type": "string"\n }\n },\n "required": [\n "kind",\n "name",\n "reported_full_name",\n "containing_class",\n "top_class",\n "source_line",\n "dex_offset"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "total": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "engine",\n "class_name",\n "method_name",\n "total",\n "references",\n "coverage"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Trace Android References"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": true,\n "readOnlyHint": false\n },\n "description": "Inspect signature candidates in a local firmware file with Binwalk 3.1.x (verified with 3.1.0). Returns offsets, reported lengths, descriptions and raw confidence values. Length validation and runtime addresses remain unknown. No extraction or target execution. Linux, caller-supplied tool and util-linux prlimit required; 128 MiB input limit, one worker and 120-second deadline.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": true,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": true\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "path": "/tmp/firmware.bin"\n }\n ],\n "properties": {\n "path": {\n "description": "Local firmware file; never executed",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "path"\n ],\n "type": "object"\n },\n "kind": "firmware-provider",\n "name": "inspect_firmware_regions",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "coverage": {\n "const": "signature_scan",\n "type": "string"\n },\n "engine": {\n "additionalProperties": false,\n "properties": {\n "executable_path": {\n "type": "string"\n },\n "executable_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "name": {\n "type": "string"\n },\n "source_revision": {\n "type": "null"\n },\n "version": {\n "type": "string"\n },\n "worker_count": {\n "const": 1,\n "type": "number"\n }\n },\n "required": [\n "name",\n "version",\n "executable_path",\n "executable_sha256",\n "source_revision",\n "worker_count"\n ],\n "type": "object"\n },\n "input_size": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "regions": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "description": {\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "provider_id": {\n "type": "string"\n },\n "reported_confidence": {\n "maximum": 255,\n "minimum": 0,\n "type": "integer"\n },\n "reported_size": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "signature": {\n "type": "string"\n },\n "size_basis": {\n "const": "provider_reported_validation_unknown",\n "type": "string"\n }\n },\n "required": [\n "provider_id",\n "offset",\n "reported_size",\n "signature",\n "description",\n "reported_confidence",\n "size_basis"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "engine",\n "input_size",\n "regions",\n "coverage"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Inspect Firmware Regions"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": false,\n "openWorldHint": true,\n "readOnlyHint": false\n },\n "description": "Extract caller-selected firmware bytes with Unblob 26.6.x (verified with 26.6.4) into an absent output directory. Returns verified child paths/digests, task derivations, unknown chunks and extraction diagnostics inline. Preserves the default sandbox; publishes regular files only. Linux, caller-supplied tool, format-specific extractors and util-linux prlimit required. No mounts or extracted-code execution. Select a returned native file with open_binary for Ghidra analysis; decompressed offsets are not original-file addresses.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": false,\n "launchesProcess": true,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": true\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "output_directory": "/tmp/firmware-output",\n "path": "/tmp/firmware.bin",\n "range": {\n "length": 4096,\n "offset": 64\n }\n }\n ],\n "properties": {\n "max_depth": {\n "default": 3,\n "description": "Extraction depth; reaching it yields partial analysis",\n "maximum": 10,\n "minimum": 1,\n "type": "integer"\n },\n "max_output_bytes": {\n "default": 268435456,\n "description": "Staging file-byte budget, checked during extraction; transient overshoot is possible",\n "maximum": 536870912,\n "minimum": 1,\n "type": "integer"\n },\n "max_output_files": {\n "default": 10000,\n "description": "Staging entry budget, including directories and links",\n "maximum": 100000,\n "minimum": 1,\n "type": "integer"\n },\n "output_directory": {\n "description": "Absolute, absent output directory; parent must exist",\n "minLength": 1,\n "type": "string"\n },\n "path": {\n "description": "Local firmware file; never executed",\n "minLength": 1,\n "type": "string"\n },\n "range": {\n "additionalProperties": false,\n "description": "Explicit file-byte interval; omit to extract the whole file",\n "properties": {\n "length": {\n "description": "Value for length.",\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n "offset": {\n "description": "Value for offset.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "offset",\n "length"\n ],\n "type": "object"\n }\n },\n "required": [\n "path",\n "output_directory"\n ],\n "type": "object"\n },\n "kind": "firmware-provider",\n "name": "extract_firmware",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "chunks": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "encrypted": {\n "anyOf": [\n {\n "type": "boolean"\n },\n {\n "type": "null"\n }\n ]\n },\n "handler": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "input_path": {\n "type": "string"\n },\n "provider_id": {\n "type": "string"\n },\n "range": {\n "additionalProperties": false,\n "properties": {\n "length": {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "offset",\n "length"\n ],\n "type": "object"\n },\n "root_file_range": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "length": {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "offset",\n "length"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "input_path",\n "provider_id",\n "range",\n "handler",\n "encrypted",\n "root_file_range"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "coverage": {\n "enum": [\n "complete",\n "partial"\n ],\n "type": "string"\n },\n "depth_limited_paths": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "derivations": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "child_path": {\n "type": "string"\n },\n "handler": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "parent_file_range": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "length": {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "offset",\n "length"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "parent_path": {\n "type": "string"\n },\n "provider_blob_id": {\n "type": "string"\n }\n },\n "required": [\n "parent_path",\n "child_path",\n "provider_blob_id",\n "handler",\n "parent_file_range"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "diagnostics": {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n "engine": {\n "additionalProperties": false,\n "properties": {\n "executable_path": {\n "type": "string"\n },\n "executable_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "name": {\n "type": "string"\n },\n "source_revision": {\n "type": "null"\n },\n "version": {\n "type": "string"\n },\n "worker_count": {\n "const": 1,\n "type": "number"\n }\n },\n "required": [\n "name",\n "version",\n "executable_path",\n "executable_sha256",\n "source_revision",\n "worker_count"\n ],\n "type": "object"\n },\n "files": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "analysis_depth": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "mime_type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "original_file_range": {\n "type": "null"\n },\n "path": {\n "type": "string"\n },\n "relative_path": {\n "type": "string"\n },\n "reported_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "runtime_address": {\n "type": "null"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "size": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "relative_path",\n "path",\n "size",\n "sha256",\n "reported_sha256",\n "mime_type",\n "analysis_depth",\n "runtime_address",\n "original_file_range"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "output_directory": {\n "type": "string"\n },\n "published_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "selection": {\n "additionalProperties": false,\n "properties": {\n "length": {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "offset",\n "length",\n "sha256"\n ],\n "type": "object"\n },\n "unpublished_entries": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "enum": [\n "symlink",\n "special"\n ],\n "type": "string"\n },\n "link_target": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "relative_path": {\n "type": "string"\n }\n },\n "required": [\n "relative_path",\n "kind",\n "link_target"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "engine",\n "selection",\n "output_directory",\n "coverage",\n "files",\n "unpublished_entries",\n "chunks",\n "derivations",\n "depth_limited_paths",\n "diagnostics",\n "published_bytes"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Extract Firmware"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Compare two authenticated inspect_managed_members Evidence records using unique-only decoded-CIL/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 tuple digest does not itself remap them.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "left": {\n "authority": "shipped-artifact",\n "confidence": "observed",\n "environment": null,\n "evidence_id": "ev_b3525a33f9aecdcfeac8372301c13cb9153b189d93ef337eee0fef9425171ce3",\n "evidence_links": [],\n "limitations": [\n "Artifact identity is unavailable for this observation."\n ],\n "locations": [],\n "normalized_result": {\n "artifact": {\n "byte_length": 4096,\n "format": "pe",\n "path": "/examples/00000000.dll",\n "sha256": "0000000000000000000000000000000000000000000000000000000000000000"\n },\n "call_edges": [],\n "coverage": {\n "issues": [],\n "state": "complete"\n },\n "field_accesses": [],\n "fields": [],\n "identity_scope": {\n "requires_artifact_sha256": "0000000000000000000000000000000000000000000000000000000000000000",\n "requires_mvid": "00112233-4455-6677-8899-aabbccddeeff",\n "token_identity": "build-local"\n },\n "limitations": [],\n "member_refs": [],\n "metadata": {\n "status": "complete",\n "table_row_counts": {},\n "version": "v4.0.30319"\n },\n "methods": [],\n "module": {\n "enc_base_id": null,\n "enc_id": null,\n "generation": 0,\n "mvid": "00112233-4455-6677-8899-aabbccddeeff",\n "name": "Example.dll",\n "row_offset": 0,\n "token": "0x00000001"\n },\n "types": []\n },\n "operation": "inspect_managed_members",\n "parameters": {},\n "predicate_type": "rea.analysis",\n "provider": {\n "id": "rea-dotnet-static",\n "name": "REA managed static analysis provider",\n "version": "1"\n },\n "raw_result": null,\n "subject": null\n },\n "right": {\n "authority": "shipped-artifact",\n "confidence": "observed",\n "environment": null,\n "evidence_id": "ev_8f79f99bceb5bf3d5e5af7fd678ac07b67427756eca0784cd56ffa6b9c4dbda4",\n "evidence_links": [],\n "limitations": [\n "Artifact identity is unavailable for this observation."\n ],\n "locations": [],\n "normalized_result": {\n "artifact": {\n "byte_length": 4096,\n "format": "pe",\n "path": "/examples/11111111.dll",\n "sha256": "1111111111111111111111111111111111111111111111111111111111111111"\n },\n "call_edges": [],\n "coverage": {\n "issues": [],\n "state": "complete"\n },\n "field_accesses": [],\n "fields": [],\n "identity_scope": {\n "requires_artifact_sha256": "1111111111111111111111111111111111111111111111111111111111111111",\n "requires_mvid": "ffeeddcc-bbaa-4988-9766-554433221100",\n "token_identity": "build-local"\n },\n "limitations": [],\n "member_refs": [],\n "metadata": {\n "status": "complete",\n "table_row_counts": {},\n "version": "v4.0.30319"\n },\n "methods": [],\n "module": {\n "enc_base_id": null,\n "enc_id": null,\n "generation": 0,\n "mvid": "ffeeddcc-bbaa-4988-9766-554433221100",\n "name": "Example.dll",\n "row_offset": 0,\n "token": "0x00000001"\n },\n "types": []\n },\n "operation": "inspect_managed_members",\n "parameters": {},\n "predicate_type": "rea.analysis",\n "provider": {\n "id": "rea-dotnet-static",\n "name": "REA managed static analysis provider",\n "version": "1"\n },\n "raw_result": null,\n "subject": null\n }\n }\n ],\n "properties": {\n "left": {\n "additionalProperties": false,\n "description": "Left-hand input used for comparison or differential execution.",\n "properties": {\n "analysis_profile": {\n "description": "Value for analysis profile.",\n "properties": {\n "digest": {\n "description": "Value for digest.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "description": "Value for version.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "description": "Value for authority.",\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "description": "Value for confidence.",\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "description": "Value for architecture.",\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "description": "Value for isolation.",\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "description": "Value for platform.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for environment."\n },\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "description": "Value for evidence links.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "description": "Value for locations.",\n "items": {\n "oneOf": [\n {\n "properties": {\n "address": {\n "description": "Value for address.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "artifact-path",\n "description": "Value for kind.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "file-offset",\n "description": "Value for kind.",\n "type": "string"\n },\n "offset": {\n "description": "Value for offset.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0",\n "description": "Value for normalized result."\n },\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "description": "Value for predicate type.",\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for version."\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for raw result."\n },\n "subject": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "digest": {\n "description": "Value for digest.",\n "properties": {\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "description": "Declared input artifact format.",\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "description": "Local filesystem path for local.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for subject."\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "right": {\n "additionalProperties": false,\n "description": "Right-hand input used for comparison or differential execution.",\n "properties": {\n "analysis_profile": {\n "description": "Value for analysis profile.",\n "properties": {\n "digest": {\n "description": "Value for digest.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "description": "Value for version.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "description": "Value for authority.",\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "description": "Value for confidence.",\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "description": "Value for architecture.",\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "description": "Value for isolation.",\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "description": "Value for platform.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for environment."\n },\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "description": "Value for evidence links.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "description": "Value for locations.",\n "items": {\n "oneOf": [\n {\n "properties": {\n "address": {\n "description": "Value for address.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "artifact-path",\n "description": "Value for kind.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "file-offset",\n "description": "Value for kind.",\n "type": "string"\n },\n "offset": {\n "description": "Value for offset.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0",\n "description": "Value for normalized result."\n },\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "description": "Value for predicate type.",\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for version."\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for raw result."\n },\n "subject": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "digest": {\n "description": "Value for digest.",\n "properties": {\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "description": "Declared input artifact format.",\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "description": "Local filesystem path for local.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for subject."\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n }\n },\n "required": [\n "left",\n "right"\n ],\n "type": "object"\n },\n "kind": "application",\n "name": "compare_managed_members",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "algorithm": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "const": "rea-managed-member-comparison",\n "type": "string"\n },\n "name_matching": {\n "const": "exact-signature-fallback",\n "type": "string"\n },\n "token_identity": {\n "const": "build-local",\n "type": "string"\n }\n },\n "required": [\n "name",\n "token_identity",\n "name_matching"\n ],\n "type": "object"\n },\n "comparison_id": {\n "pattern": "^mmc_[a-f0-9]{64}$",\n "type": "string"\n },\n "coverage": {\n "additionalProperties": false,\n "properties": {\n "left_status": {\n "enum": [\n "complete",\n "partial",\n "unavailable"\n ],\n "type": "string"\n },\n "right_status": {\n "enum": [\n "complete",\n "partial",\n "unavailable"\n ],\n "type": "string"\n },\n "status": {\n "enum": [\n "complete-within-inputs",\n "partial"\n ],\n "type": "string"\n }\n },\n "required": [\n "status",\n "left_status",\n "right_status"\n ],\n "type": "object"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "maxItems": 2,\n "minItems": 2,\n "type": "array"\n },\n "fields": {\n "items": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "maxItems": 2,\n "minItems": 2,\n "type": "array"\n },\n "item_id": {\n "pattern": "^mmc_field_[a-f0-9]{64}$",\n "type": "string"\n },\n "left": {\n "additionalProperties": false,\n "properties": {\n "declaring_type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "type": "string"\n },\n "signature_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "token": {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n }\n },\n "required": [\n "token",\n "declaring_type",\n "name",\n "signature_sha256"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "match": {\n "additionalProperties": false,\n "properties": {\n "basis": {\n "enum": [\n "exact-il-signature",\n "exact-signature",\n "structural-method-shape",\n "field-signature"\n ],\n "type": "string"\n },\n "candidate_left_tokens": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "candidate_right_tokens": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "confidence": {\n "enum": [\n "exact",\n "high"\n ],\n "type": "string"\n },\n "status": {\n "const": "matched",\n "type": "string"\n }\n },\n "required": [\n "status",\n "basis",\n "confidence",\n "candidate_left_tokens",\n "candidate_right_tokens"\n ],\n "type": "object"\n },\n "right": {\n "additionalProperties": false,\n "properties": {\n "declaring_type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "type": "string"\n },\n "signature_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "token": {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n }\n },\n "required": [\n "token",\n "declaring_type",\n "name",\n "signature_sha256"\n ],\n "type": "object"\n },\n "status": {\n "enum": [\n "unchanged",\n "changed",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "evidence_links",\n "limitations",\n "item_id",\n "status",\n "left",\n "right",\n "match"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "maxItems": 2,\n "minItems": 2,\n "type": "array"\n },\n "item_id": {\n "pattern": "^mmc_field_[a-f0-9]{64}$",\n "type": "string"\n },\n "left": {\n "additionalProperties": false,\n "properties": {\n "declaring_type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "type": "string"\n },\n "signature_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "token": {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n }\n },\n "required": [\n "token",\n "declaring_type",\n "name",\n "signature_sha256"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "match": {\n "additionalProperties": false,\n "properties": {\n "basis": {\n "const": "none",\n "type": "string"\n },\n "candidate_left_tokens": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "candidate_right_tokens": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "confidence": {\n "const": "unknown",\n "type": "string"\n },\n "status": {\n "const": "unmatched",\n "type": "string"\n }\n },\n "required": [\n "status",\n "basis",\n "confidence",\n "candidate_left_tokens",\n "candidate_right_tokens"\n ],\n "type": "object"\n },\n "right": {\n "type": "null"\n },\n "status": {\n "enum": [\n "removed",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "evidence_links",\n "limitations",\n "item_id",\n "status",\n "left",\n "right",\n "match"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "maxItems": 2,\n "minItems": 2,\n "type": "array"\n },\n "item_id": {\n "pattern": "^mmc_field_[a-f0-9]{64}$",\n "type": "string"\n },\n "left": {\n "type": "null"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "match": {\n "additionalProperties": false,\n "properties": {\n "basis": {\n "const": "none",\n "type": "string"\n },\n "candidate_left_tokens": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "candidate_right_tokens": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "confidence": {\n "const": "unknown",\n "type": "string"\n },\n "status": {\n "const": "unmatched",\n "type": "string"\n }\n },\n "required": [\n "status",\n "basis",\n "confidence",\n "candidate_left_tokens",\n "candidate_right_tokens"\n ],\n "type": "object"\n },\n "right": {\n "additionalProperties": false,\n "properties": {\n "declaring_type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "type": "string"\n },\n "signature_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "token": {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n }\n },\n "required": [\n "token",\n "declaring_type",\n "name",\n "signature_sha256"\n ],\n "type": "object"\n },\n "status": {\n "enum": [\n "added",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "evidence_links",\n "limitations",\n "item_id",\n "status",\n "left",\n "right",\n "match"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "maxItems": 2,\n "minItems": 2,\n "type": "array"\n },\n "item_id": {\n "pattern": "^mmc_field_[a-f0-9]{64}$",\n "type": "string"\n },\n "left": {\n "type": "null"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "match": {\n "additionalProperties": false,\n "properties": {\n "basis": {\n "enum": [\n "exact-il-signature",\n "exact-signature",\n "structural-method-shape",\n "field-signature"\n ],\n "type": "string"\n },\n "candidate_left_tokens": {\n "items": {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "candidate_right_tokens": {\n "items": {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "confidence": {\n "const": "unknown",\n "type": "string"\n },\n "status": {\n "const": "ambiguous",\n "type": "string"\n }\n },\n "required": [\n "status",\n "basis",\n "confidence",\n "candidate_left_tokens",\n "candidate_right_tokens"\n ],\n "type": "object"\n },\n "right": {\n "type": "null"\n },\n "status": {\n "const": "unknown",\n "type": "string"\n }\n },\n "required": [\n "evidence_links",\n "limitations",\n "item_id",\n "status",\n "left",\n "right",\n "match"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "left": {\n "additionalProperties": false,\n "properties": {\n "artifact_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "fields_total": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "metadata_status": {\n "enum": [\n "absent",\n "complete",\n "partial",\n "malformed"\n ],\n "type": "string"\n },\n "methods_total": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "module_name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "mvid": {\n "anyOf": [\n {\n "pattern": "^[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "artifact_sha256",\n "mvid",\n "module_name",\n "metadata_status",\n "methods_total",\n "fields_total"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "matching": {\n "additionalProperties": false,\n "properties": {\n "ambiguous": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "exact_il_signature": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "exact_signature": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "field_signature": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "structural_method_shape": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "unmatched": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "exact_il_signature",\n "exact_signature",\n "structural_method_shape",\n "field_signature",\n "ambiguous",\n "unmatched"\n ],\n "type": "object"\n },\n "methods": {\n "items": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "dimensions": {\n "items": {\n "enum": [\n "metadata",\n "signature",\n "cil",\n "opcode-shape",\n "call-shape",\n "field-shape",\n "exception-shape",\n "availability",\n "body-coverage"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "maxItems": 2,\n "minItems": 2,\n "type": "array"\n },\n "item_id": {\n "pattern": "^mmc_method_[a-f0-9]{64}$",\n "type": "string"\n },\n "left": {\n "additionalProperties": false,\n "properties": {\n "declaring_type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "type": "string"\n },\n "normalized_il_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "signature_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "token": {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n }\n },\n "required": [\n "token",\n "declaring_type",\n "name",\n "signature_sha256",\n "normalized_il_sha256"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "match": {\n "additionalProperties": false,\n "properties": {\n "basis": {\n "enum": [\n "exact-il-signature",\n "exact-signature",\n "structural-method-shape",\n "field-signature"\n ],\n "type": "string"\n },\n "candidate_left_tokens": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "candidate_right_tokens": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "confidence": {\n "enum": [\n "exact",\n "high"\n ],\n "type": "string"\n },\n "status": {\n "const": "matched",\n "type": "string"\n }\n },\n "required": [\n "status",\n "basis",\n "confidence",\n "candidate_left_tokens",\n "candidate_right_tokens"\n ],\n "type": "object"\n },\n "right": {\n "additionalProperties": false,\n "properties": {\n "declaring_type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "type": "string"\n },\n "normalized_il_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "signature_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "token": {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n }\n },\n "required": [\n "token",\n "declaring_type",\n "name",\n "signature_sha256",\n "normalized_il_sha256"\n ],\n "type": "object"\n },\n "status": {\n "enum": [\n "unchanged",\n "changed",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "evidence_links",\n "limitations",\n "item_id",\n "dimensions",\n "status",\n "left",\n "right",\n "match"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "dimensions": {\n "items": {\n "enum": [\n "metadata",\n "signature",\n "cil",\n "opcode-shape",\n "call-shape",\n "field-shape",\n "exception-shape",\n "availability",\n "body-coverage"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "maxItems": 2,\n "minItems": 2,\n "type": "array"\n },\n "item_id": {\n "pattern": "^mmc_method_[a-f0-9]{64}$",\n "type": "string"\n },\n "left": {\n "additionalProperties": false,\n "properties": {\n "declaring_type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "type": "string"\n },\n "normalized_il_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "signature_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "token": {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n }\n },\n "required": [\n "token",\n "declaring_type",\n "name",\n "signature_sha256",\n "normalized_il_sha256"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "match": {\n "additionalProperties": false,\n "properties": {\n "basis": {\n "const": "none",\n "type": "string"\n },\n "candidate_left_tokens": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "candidate_right_tokens": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "confidence": {\n "const": "unknown",\n "type": "string"\n },\n "status": {\n "const": "unmatched",\n "type": "string"\n }\n },\n "required": [\n "status",\n "basis",\n "confidence",\n "candidate_left_tokens",\n "candidate_right_tokens"\n ],\n "type": "object"\n },\n "right": {\n "type": "null"\n },\n "status": {\n "enum": [\n "removed",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "evidence_links",\n "limitations",\n "item_id",\n "dimensions",\n "status",\n "left",\n "right",\n "match"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "dimensions": {\n "items": {\n "enum": [\n "metadata",\n "signature",\n "cil",\n "opcode-shape",\n "call-shape",\n "field-shape",\n "exception-shape",\n "availability",\n "body-coverage"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "maxItems": 2,\n "minItems": 2,\n "type": "array"\n },\n "item_id": {\n "pattern": "^mmc_method_[a-f0-9]{64}$",\n "type": "string"\n },\n "left": {\n "type": "null"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "match": {\n "additionalProperties": false,\n "properties": {\n "basis": {\n "const": "none",\n "type": "string"\n },\n "candidate_left_tokens": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "candidate_right_tokens": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "confidence": {\n "const": "unknown",\n "type": "string"\n },\n "status": {\n "const": "unmatched",\n "type": "string"\n }\n },\n "required": [\n "status",\n "basis",\n "confidence",\n "candidate_left_tokens",\n "candidate_right_tokens"\n ],\n "type": "object"\n },\n "right": {\n "additionalProperties": false,\n "properties": {\n "declaring_type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "type": "string"\n },\n "normalized_il_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "signature_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "token": {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n }\n },\n "required": [\n "token",\n "declaring_type",\n "name",\n "signature_sha256",\n "normalized_il_sha256"\n ],\n "type": "object"\n },\n "status": {\n "enum": [\n "added",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "evidence_links",\n "limitations",\n "item_id",\n "dimensions",\n "status",\n "left",\n "right",\n "match"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "dimensions": {\n "items": {\n "enum": [\n "metadata",\n "signature",\n "cil",\n "opcode-shape",\n "call-shape",\n "field-shape",\n "exception-shape",\n "availability",\n "body-coverage"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "maxItems": 2,\n "minItems": 2,\n "type": "array"\n },\n "item_id": {\n "pattern": "^mmc_method_[a-f0-9]{64}$",\n "type": "string"\n },\n "left": {\n "type": "null"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "match": {\n "additionalProperties": false,\n "properties": {\n "basis": {\n "enum": [\n "exact-il-signature",\n "exact-signature",\n "structural-method-shape",\n "field-signature"\n ],\n "type": "string"\n },\n "candidate_left_tokens": {\n "items": {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "candidate_right_tokens": {\n "items": {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "confidence": {\n "const": "unknown",\n "type": "string"\n },\n "status": {\n "const": "ambiguous",\n "type": "string"\n }\n },\n "required": [\n "status",\n "basis",\n "confidence",\n "candidate_left_tokens",\n "candidate_right_tokens"\n ],\n "type": "object"\n },\n "right": {\n "type": "null"\n },\n "status": {\n "const": "unknown",\n "type": "string"\n }\n },\n "required": [\n "evidence_links",\n "limitations",\n "item_id",\n "dimensions",\n "status",\n "left",\n "right",\n "match"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "right": {\n "additionalProperties": false,\n "properties": {\n "artifact_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "fields_total": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "metadata_status": {\n "enum": [\n "absent",\n "complete",\n "partial",\n "malformed"\n ],\n "type": "string"\n },\n "methods_total": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "module_name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "mvid": {\n "anyOf": [\n {\n "pattern": "^[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "artifact_sha256",\n "mvid",\n "module_name",\n "metadata_status",\n "methods_total",\n "fields_total"\n ],\n "type": "object"\n },\n "summary": {\n "additionalProperties": false,\n "properties": {\n "added": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "changed": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "removed": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "unchanged": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "unknown": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "unchanged",\n "changed",\n "added",\n "removed",\n "unknown"\n ],\n "type": "object"\n }\n },\n "required": [\n "comparison_id",\n "algorithm",\n "left",\n "right",\n "summary",\n "matching",\n "methods",\n "fields",\n "coverage",\n "evidence_links",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": true,\n "title": "Compare Managed Members"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "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.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "managed_boundaries": {\n "authority": "shipped-artifact",\n "confidence": "observed",\n "environment": null,\n "evidence_id": "ev_0b4af8f787323ba7fb52a35b1c21115b2c53d55d61ff9de4a16b006b818a2ba2",\n "evidence_links": [],\n "limitations": [\n "Artifact identity is unavailable for this observation."\n ],\n "locations": [],\n "normalized_result": {\n "artifact": {\n "byte_length": 8192,\n "format": "pe",\n "path": "/examples/ManagedInterop.exe",\n "sha256": "6666666666666666666666666666666666666666666666666666666666666666"\n },\n "cli_native": {\n "il_only": true,\n "managed_native_header_rva": 0,\n "managed_native_header_size": 0,\n "native_entry_point": false,\n "ready_to_run_signature": false,\n "requires_32bit": false,\n "strong_name_signed": false\n },\n "coverage": {\n "issues": [],\n "state": "complete"\n },\n "identity_scope": {\n "requires_artifact_sha256": "6666666666666666666666666666666666666666666666666666666666666666",\n "requires_mvid": "00112233-4455-4677-8899-aabbccddeeff",\n "token_identity": "build-local"\n },\n "limitations": [],\n "metadata": {\n "status": "complete",\n "table_row_counts": {},\n "version": "v4.0.30319"\n },\n "module": {\n "enc_base_id": null,\n "enc_id": null,\n "generation": 0,\n "mvid": "00112233-4455-4677-8899-aabbccddeeff",\n "name": "ManagedInterop.exe",\n "row_offset": 0,\n "token": "0x00000001"\n },\n "module_refs": [\n {\n "name": "nativehelper.dll",\n "row_offset": 256,\n "token": "0x1a000001"\n }\n ],\n "native_implementations": [],\n "pinvoke_imports": [\n {\n "best_fit": "assembly-default",\n "call_convention": "cdecl",\n "char_set": "not-specified",\n "import_name": "open_native",\n "import_scope_name": "nativehelper.dll",\n "import_scope_token": "0x1a000001",\n "mapping_flags": 0,\n "mapping_flags_hex": "0x0000",\n "member_kind": "method",\n "member_name": "OpenNative",\n "member_token": "0x06000001",\n "no_mangle": true,\n "row_offset": 288,\n "supports_last_error": false,\n "throw_on_unmappable_char": "assembly-default",\n "token": "0x1c000001",\n "verification": "managed-declaration-only"\n }\n ],\n "summary": {\n "mixed_mode_or_native_header": false,\n "module_ref_count": 1,\n "native_implementation_count": 0,\n "pinvoke_import_count": 1,\n "ready_to_run": false\n }\n },\n "operation": "inspect_managed_native_boundaries",\n "parameters": {},\n "predicate_type": "rea.analysis",\n "provider": {\n "id": "rea-dotnet-static",\n "name": "REA managed static analysis provider",\n "version": "1"\n },\n "raw_result": null,\n "subject": null\n },\n "native_observations": [\n {\n "authority": "shipped-artifact",\n "confidence": "observed",\n "environment": null,\n "evidence_id": "ev_9ec8ff855a81995540b10a08acf864e2003b588f92dd88cd2b796e3ad288fdc9",\n "evidence_links": [],\n "limitations": [],\n "locations": [],\n "normalized_result": {\n "architectures": {\n "exhaustive": true,\n "items": [],\n "limitations": [],\n "total": 0\n },\n "build_metadata": {\n "exhaustive": true,\n "items": [],\n "limitations": [],\n "total": 0\n },\n "dependencies": {\n "exhaustive": true,\n "items": [],\n "limitations": [],\n "total": 0\n },\n "endian": "little",\n "entrypoints": {\n "exhaustive": true,\n "items": [],\n "limitations": [],\n "total": 0\n },\n "exports": {\n "exhaustive": true,\n "items": [\n {\n "address": "0x1000",\n "name": "open_native",\n "reexport": false,\n "source": "nm",\n "weak": false\n }\n ],\n "limitations": [],\n "total": 1\n },\n "file_type": "dylib",\n "flags": [],\n "format": "mach-o",\n "imports": {\n "exhaustive": true,\n "items": [],\n "limitations": [],\n "total": 0\n },\n "limitations": [],\n "load_commands": {\n "exhaustive": true,\n "items": [],\n "limitations": [],\n "total": 0\n },\n "provenance": [],\n "segments": {\n "exhaustive": true,\n "items": [],\n "limitations": [],\n "total": 0\n },\n "uuid": null,\n "word_size": 64\n },\n "operation": "inspect_macho",\n "parameters": {},\n "predicate_type": "rea.analysis",\n "provider": {\n "id": "native-macos",\n "name": "REA native macOS provider",\n "version": "1"\n },\n "raw_result": null,\n "subject": {\n "architecture": "x86_64",\n "digest": {\n "sha256": "7777777777777777777777777777777777777777777777777777777777777777"\n },\n "format": "mach-o",\n "local_path": "/examples/nativehelper.dll",\n "name": "nativehelper.dll"\n }\n }\n ]\n }\n ],\n "properties": {\n "managed_boundaries": {\n "additionalProperties": false,\n "description": "Value for managed boundaries.",\n "properties": {\n "analysis_profile": {\n "description": "Value for analysis profile.",\n "properties": {\n "digest": {\n "description": "Value for digest.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "description": "Value for version.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "description": "Value for authority.",\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "description": "Value for confidence.",\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "description": "Value for architecture.",\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "description": "Value for isolation.",\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "description": "Value for platform.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for environment."\n },\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "description": "Value for evidence links.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "description": "Value for locations.",\n "items": {\n "oneOf": [\n {\n "properties": {\n "address": {\n "description": "Value for address.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "artifact-path",\n "description": "Value for kind.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "file-offset",\n "description": "Value for kind.",\n "type": "string"\n },\n "offset": {\n "description": "Value for offset.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0",\n "description": "Value for normalized result."\n },\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "description": "Value for predicate type.",\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for version."\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for raw result."\n },\n "subject": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "digest": {\n "description": "Value for digest.",\n "properties": {\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "description": "Declared input artifact format.",\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "description": "Local filesystem path for local.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for subject."\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "native_observations": {\n "description": "Native function or export Evidence records",\n "items": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "description": "Value for analysis profile.",\n "properties": {\n "digest": {\n "description": "Value for digest.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "description": "Value for version.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "description": "Value for authority.",\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "description": "Value for confidence.",\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "description": "Value for architecture.",\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "description": "Value for isolation.",\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "description": "Value for platform.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for environment."\n },\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "description": "Value for evidence links.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "description": "Value for locations.",\n "items": {\n "oneOf": [\n {\n "properties": {\n "address": {\n "description": "Value for address.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "artifact-path",\n "description": "Value for kind.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "file-offset",\n "description": "Value for kind.",\n "type": "string"\n },\n "offset": {\n "description": "Value for offset.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0",\n "description": "Value for normalized result."\n },\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "description": "Value for predicate type.",\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for version."\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for raw result."\n },\n "subject": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "digest": {\n "description": "Value for digest.",\n "properties": {\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "description": "Declared input artifact format.",\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "description": "Local filesystem path for local.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for subject."\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "managed_boundaries",\n "native_observations"\n ],\n "type": "object"\n },\n "kind": "application",\n "name": "verify_managed_native_boundaries",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "algorithm": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "const": "rea-managed-native-verification",\n "type": "string"\n },\n "token_identity": {\n "const": "build-local",\n "type": "string"\n },\n "token_to_address_mapping": {\n "const": "not-inferred",\n "type": "string"\n }\n },\n "required": [\n "name",\n "token_identity",\n "token_to_address_mapping"\n ],\n "type": "object"\n },\n "coverage": {\n "additionalProperties": false,\n "properties": {\n "status": {\n "enum": [\n "complete-within-inputs",\n "partial"\n ],\n "type": "string"\n }\n },\n "required": [\n "status"\n ],\n "type": "object"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 2,\n "type": "array"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "managed_boundary": {\n "additionalProperties": false,\n "properties": {\n "artifact_path": {\n "minLength": 1,\n "type": "string"\n },\n "artifact_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "coverage_state": {\n "enum": [\n "complete",\n "partial",\n "unavailable"\n ],\n "type": "string"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "metadata_status": {\n "enum": [\n "absent",\n "complete",\n "partial",\n "malformed"\n ],\n "type": "string"\n },\n "mvid": {\n "anyOf": [\n {\n "pattern": "^[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "native_implementations_total": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "pinvoke_imports_total": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "evidence_id",\n "artifact_sha256",\n "artifact_path",\n "mvid",\n "metadata_status",\n "pinvoke_imports_total",\n "native_implementations_total",\n "coverage_state"\n ],\n "type": "object"\n },\n "native_implementations": {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "minLength": 1,\n "type": "string"\n },\n "unresolved": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "unresolved",\n "reason"\n ],\n "type": "object"\n },\n "native_observations": {\n "additionalProperties": false,\n "properties": {\n "accepted": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "symbols": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "total": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "unsupported": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "total",\n "accepted",\n "unsupported",\n "symbols"\n ],\n "type": "object"\n },\n "pinvoke_imports": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "basis": {\n "enum": [\n "exact-export-name",\n "exact-function-name"\n ],\n "type": "string"\n },\n "candidates": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "module_name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "module_path": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "source": {\n "enum": [\n "macho-export",\n "function-dossier"\n ],\n "type": "string"\n }\n },\n "required": [\n "evidence_id",\n "operation",\n "name",\n "address",\n "module_name",\n "module_path",\n "source"\n ],\n "type": "object"\n },\n "prefixItems": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "module_name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "module_path": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "source": {\n "enum": [\n "macho-export",\n "function-dossier"\n ],\n "type": "string"\n }\n },\n "required": [\n "evidence_id",\n "operation",\n "name",\n "address",\n "module_name",\n "module_path",\n "source"\n ],\n "type": "object"\n }\n ],\n "type": "array"\n },\n "confidence": {\n "const": "observed",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "item_id": {\n "pattern": "^mnv_pinvoke_[a-f0-9]{64}$",\n "type": "string"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "managed": {\n "additionalProperties": false,\n "properties": {\n "call_convention": {\n "enum": [\n "not-specified",\n "winapi",\n "cdecl",\n "stdcall",\n "thiscall",\n "fastcall",\n "unknown"\n ],\n "type": "string"\n },\n "char_set": {\n "enum": [\n "not-specified",\n "ansi",\n "unicode",\n "auto",\n "unknown"\n ],\n "type": "string"\n },\n "declaration_verification": {\n "const": "managed-declaration-only",\n "type": "string"\n },\n "import_name": {\n "minLength": 1,\n "type": "string"\n },\n "import_scope_name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "member_name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "member_token": {\n "anyOf": [\n {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "no_mangle": {\n "type": "boolean"\n },\n "token": {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n }\n },\n "required": [\n "token",\n "member_token",\n "member_name",\n "import_name",\n "import_scope_name",\n "no_mangle",\n "char_set",\n "call_convention",\n "declaration_verification"\n ],\n "type": "object"\n },\n "matched_native": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "module_name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "module_path": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "source": {\n "enum": [\n "macho-export",\n "function-dossier"\n ],\n "type": "string"\n }\n },\n "required": [\n "evidence_id",\n "operation",\n "name",\n "address",\n "module_name",\n "module_path",\n "source"\n ],\n "type": "object"\n },\n "status": {\n "const": "verified",\n "type": "string"\n }\n },\n "required": [\n "item_id",\n "managed",\n "evidence_links",\n "limitations",\n "status",\n "basis",\n "confidence",\n "matched_native",\n "candidates"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "basis": {\n "const": "decorated-name-candidate",\n "type": "string"\n },\n "candidates": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "module_name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "module_path": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "source": {\n "enum": [\n "macho-export",\n "function-dossier"\n ],\n "type": "string"\n }\n },\n "required": [\n "evidence_id",\n "operation",\n "name",\n "address",\n "module_name",\n "module_path",\n "source"\n ],\n "type": "object"\n },\n "prefixItems": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "module_name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "module_path": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "source": {\n "enum": [\n "macho-export",\n "function-dossier"\n ],\n "type": "string"\n }\n },\n "required": [\n "evidence_id",\n "operation",\n "name",\n "address",\n "module_name",\n "module_path",\n "source"\n ],\n "type": "object"\n }\n ],\n "type": "array"\n },\n "confidence": {\n "const": "inferred",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "item_id": {\n "pattern": "^mnv_pinvoke_[a-f0-9]{64}$",\n "type": "string"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "managed": {\n "additionalProperties": false,\n "properties": {\n "call_convention": {\n "enum": [\n "not-specified",\n "winapi",\n "cdecl",\n "stdcall",\n "thiscall",\n "fastcall",\n "unknown"\n ],\n "type": "string"\n },\n "char_set": {\n "enum": [\n "not-specified",\n "ansi",\n "unicode",\n "auto",\n "unknown"\n ],\n "type": "string"\n },\n "declaration_verification": {\n "const": "managed-declaration-only",\n "type": "string"\n },\n "import_name": {\n "minLength": 1,\n "type": "string"\n },\n "import_scope_name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "member_name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "member_token": {\n "anyOf": [\n {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "no_mangle": {\n "type": "boolean"\n },\n "token": {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n }\n },\n "required": [\n "token",\n "member_token",\n "member_name",\n "import_name",\n "import_scope_name",\n "no_mangle",\n "char_set",\n "call_convention",\n "declaration_verification"\n ],\n "type": "object"\n },\n "matched_native": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "module_name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "module_path": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "source": {\n "enum": [\n "macho-export",\n "function-dossier"\n ],\n "type": "string"\n }\n },\n "required": [\n "evidence_id",\n "operation",\n "name",\n "address",\n "module_name",\n "module_path",\n "source"\n ],\n "type": "object"\n },\n "status": {\n "const": "inferred",\n "type": "string"\n }\n },\n "required": [\n "item_id",\n "managed",\n "evidence_links",\n "limitations",\n "status",\n "basis",\n "confidence",\n "matched_native",\n "candidates"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "basis": {\n "enum": [\n "no-native-candidate",\n "unsupported-native-evidence"\n ],\n "type": "string"\n },\n "candidates": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "confidence": {\n "const": "unknown",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "item_id": {\n "pattern": "^mnv_pinvoke_[a-f0-9]{64}$",\n "type": "string"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "managed": {\n "additionalProperties": false,\n "properties": {\n "call_convention": {\n "enum": [\n "not-specified",\n "winapi",\n "cdecl",\n "stdcall",\n "thiscall",\n "fastcall",\n "unknown"\n ],\n "type": "string"\n },\n "char_set": {\n "enum": [\n "not-specified",\n "ansi",\n "unicode",\n "auto",\n "unknown"\n ],\n "type": "string"\n },\n "declaration_verification": {\n "const": "managed-declaration-only",\n "type": "string"\n },\n "import_name": {\n "minLength": 1,\n "type": "string"\n },\n "import_scope_name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "member_name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "member_token": {\n "anyOf": [\n {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "no_mangle": {\n "type": "boolean"\n },\n "token": {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n }\n },\n "required": [\n "token",\n "member_token",\n "member_name",\n "import_name",\n "import_scope_name",\n "no_mangle",\n "char_set",\n "call_convention",\n "declaration_verification"\n ],\n "type": "object"\n },\n "matched_native": {\n "type": "null"\n },\n "status": {\n "const": "unresolved",\n "type": "string"\n }\n },\n "required": [\n "item_id",\n "managed",\n "evidence_links",\n "limitations",\n "status",\n "basis",\n "confidence",\n "matched_native",\n "candidates"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "basis": {\n "const": "module-mismatch",\n "type": "string"\n },\n "candidates": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "module_name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "module_path": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "source": {\n "enum": [\n "macho-export",\n "function-dossier"\n ],\n "type": "string"\n }\n },\n "required": [\n "evidence_id",\n "operation",\n "name",\n "address",\n "module_name",\n "module_path",\n "source"\n ],\n "type": "object"\n },\n "prefixItems": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "module_name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "module_path": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "source": {\n "enum": [\n "macho-export",\n "function-dossier"\n ],\n "type": "string"\n }\n },\n "required": [\n "evidence_id",\n "operation",\n "name",\n "address",\n "module_name",\n "module_path",\n "source"\n ],\n "type": "object"\n }\n ],\n "type": "array"\n },\n "confidence": {\n "const": "unknown",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "item_id": {\n "pattern": "^mnv_pinvoke_[a-f0-9]{64}$",\n "type": "string"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "managed": {\n "additionalProperties": false,\n "properties": {\n "call_convention": {\n "enum": [\n "not-specified",\n "winapi",\n "cdecl",\n "stdcall",\n "thiscall",\n "fastcall",\n "unknown"\n ],\n "type": "string"\n },\n "char_set": {\n "enum": [\n "not-specified",\n "ansi",\n "unicode",\n "auto",\n "unknown"\n ],\n "type": "string"\n },\n "declaration_verification": {\n "const": "managed-declaration-only",\n "type": "string"\n },\n "import_name": {\n "minLength": 1,\n "type": "string"\n },\n "import_scope_name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "member_name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "member_token": {\n "anyOf": [\n {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "no_mangle": {\n "type": "boolean"\n },\n "token": {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n }\n },\n "required": [\n "token",\n "member_token",\n "member_name",\n "import_name",\n "import_scope_name",\n "no_mangle",\n "char_set",\n "call_convention",\n "declaration_verification"\n ],\n "type": "object"\n },\n "matched_native": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "module_name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "module_path": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "source": {\n "enum": [\n "macho-export",\n "function-dossier"\n ],\n "type": "string"\n }\n },\n "required": [\n "evidence_id",\n "operation",\n "name",\n "address",\n "module_name",\n "module_path",\n "source"\n ],\n "type": "object"\n },\n "status": {\n "const": "contradicted",\n "type": "string"\n }\n },\n "required": [\n "item_id",\n "managed",\n "evidence_links",\n "limitations",\n "status",\n "basis",\n "confidence",\n "matched_native",\n "candidates"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "summary": {\n "additionalProperties": false,\n "properties": {\n "contradicted": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "inferred": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "native_body_unresolved": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "unresolved": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "verified": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "verified",\n "inferred",\n "unresolved",\n "contradicted",\n "native_body_unresolved"\n ],\n "type": "object"\n },\n "verification_id": {\n "pattern": "^mnv_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "verification_id",\n "algorithm",\n "managed_boundary",\n "native_observations",\n "summary",\n "pinvoke_imports",\n "native_implementations",\n "coverage",\n "evidence_links",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": true,\n "title": "Verify Managed Native Boundaries"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "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 decoded-IL tuple hash, records the decompiler identity and options, and marks C# or pseudocode as analyst inference rather than canonical byte observation.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "decompiler": {\n "executable_sha256": null,\n "family": "ilspy",\n "name": "ilspycmd",\n "options": [\n "--disable-updatecheck",\n "--type",\n "Example.Program"\n ],\n "version": "9.1.0.7988"\n },\n "methods": [\n {\n "normalized_il_sha256": "5555555555555555555555555555555555555555555555555555555555555555",\n "reconstruction": {\n "end_line": 1,\n "kind": "decompiled-csharp",\n "language": "csharp",\n "source_path": "/examples/Example.Program.cs",\n "start_line": 1,\n "text": "internal static void Main() { }"\n },\n "signature_sha256": "3333333333333333333333333333333333333333333333333333333333333333",\n "token": "0x06000001"\n }\n ],\n "notes": [\n "Synthetic example only; decompiler output is imported as inference."\n ],\n "static_members": {\n "authority": "shipped-artifact",\n "confidence": "observed",\n "environment": null,\n "evidence_id": "ev_cf07661a99083e446ac5f18af3ca331cb1af7c3cd6cb7c9dc8bff880a1ed8bb9",\n "evidence_links": [],\n "limitations": [\n "Artifact identity is unavailable for this observation."\n ],\n "locations": [],\n "normalized_result": {\n "artifact": {\n "byte_length": 4096,\n "format": "pe",\n "path": "/examples/22222222.dll",\n "sha256": "2222222222222222222222222222222222222222222222222222222222222222"\n },\n "call_edges": [],\n "coverage": {\n "issues": [],\n "state": "complete"\n },\n "field_accesses": [],\n "fields": [],\n "identity_scope": {\n "requires_artifact_sha256": "2222222222222222222222222222222222222222222222222222222222222222",\n "requires_mvid": "11112222-3333-4444-9555-666677778888",\n "token_identity": "build-local"\n },\n "limitations": [],\n "member_refs": [],\n "metadata": {\n "status": "complete",\n "table_row_counts": {},\n "version": "v4.0.30319"\n },\n "methods": [\n {\n "body": {\n "anchors": [],\n "decoded_instruction_count": 1,\n "exception_regions": [],\n "file_offset": 512,\n "header_format": "tiny",\n "il_sha256": "4444444444444444444444444444444444444444444444444444444444444444",\n "il_size": 1,\n "init_locals": false,\n "instruction_count": 1,\n "issue": null,\n "local_var_sig_token": null,\n "max_stack": 8,\n "normalized_il_sha256": "5555555555555555555555555555555555555555555555555555555555555555",\n "opcode_counts": {\n "ret": 1\n },\n "rva": 8192,\n "status": "present",\n "truncated_instructions": 0\n },\n "declaring_type": "Example.Program",\n "declaring_type_token": "0x02000001",\n "flags": 22,\n "impl_flags": 0,\n "name": "Main",\n "row_offset": 128,\n "rva": 8192,\n "signature": {\n "calling_convention": "default",\n "field_type": null,\n "generic_parameter_count": 0,\n "issue": null,\n "kind": "method",\n "parameter_count": 0,\n "parameter_types": [],\n "parse_status": "decoded",\n "raw_length": 3,\n "raw_sha256": "3333333333333333333333333333333333333333333333333333333333333333",\n "return_type": "void"\n },\n "token": "0x06000001"\n }\n ],\n "module": {\n "enc_base_id": null,\n "enc_id": null,\n "generation": 0,\n "mvid": "11112222-3333-4444-9555-666677778888",\n "name": "Example.dll",\n "row_offset": 0,\n "token": "0x00000001"\n },\n "types": []\n },\n "operation": "inspect_managed_members",\n "parameters": {},\n "predicate_type": "rea.analysis",\n "provider": {\n "id": "rea-dotnet-static",\n "name": "REA managed static analysis provider",\n "version": "1"\n },\n "raw_result": null,\n "subject": null\n }\n }\n ],\n "properties": {\n "decompiler": {\n "additionalProperties": false,\n "description": "Value for decompiler.",\n "properties": {\n "executable_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "Exact SHA-256 digest of executable."\n },\n "family": {\n "description": "Value for family.",\n "enum": [\n "ilspy",\n "dnspy",\n "dnlib",\n "mono-cecil",\n "other"\n ],\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "options": {\n "default": [],\n "description": "Value for options.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "version": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "Value for version."\n }\n },\n "required": [\n "name",\n "family"\n ],\n "type": "object"\n },\n "methods": {\n "description": "Value for methods.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "normalized_il_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Exact SHA-256 digest of normalized il."\n },\n "reconstruction": {\n "additionalProperties": false,\n "description": "Value for reconstruction.",\n "properties": {\n "end_line": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for end line."\n },\n "kind": {\n "description": "Value for kind.",\n "enum": [\n "decompiled-csharp",\n "decompiled-il",\n "semantic-pseudocode"\n ],\n "type": "string"\n },\n "language": {\n "description": "Value for language.",\n "enum": [\n "csharp",\n "il",\n "pseudocode"\n ],\n "type": "string"\n },\n "source_path": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Local filesystem path for source."\n },\n "start_line": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for start line."\n },\n "text": {\n "description": "Value for text.",\n "minLength": 1,\n "type": "string"\n },\n "text_sha256": {\n "description": "Exact SHA-256 digest of text.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "language",\n "text"\n ],\n "type": "object"\n },\n "signature_sha256": {\n "description": "Exact SHA-256 digest of signature.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "token": {\n "description": "Value for token.",\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n }\n },\n "required": [\n "token",\n "signature_sha256",\n "normalized_il_sha256",\n "reconstruction"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "notes": {\n "default": [],\n "description": "Value for notes.",\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "static_members": {\n "additionalProperties": false,\n "description": "Value for static members.",\n "properties": {\n "analysis_profile": {\n "description": "Value for analysis profile.",\n "properties": {\n "digest": {\n "description": "Value for digest.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "description": "Value for version.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "description": "Value for authority.",\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "description": "Value for confidence.",\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "description": "Value for architecture.",\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "description": "Value for isolation.",\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "description": "Value for platform.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for environment."\n },\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "description": "Value for evidence links.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "description": "Value for locations.",\n "items": {\n "oneOf": [\n {\n "properties": {\n "address": {\n "description": "Value for address.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "artifact-path",\n "description": "Value for kind.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "file-offset",\n "description": "Value for kind.",\n "type": "string"\n },\n "offset": {\n "description": "Value for offset.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0",\n "description": "Value for normalized result."\n },\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "description": "Value for predicate type.",\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for version."\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for raw result."\n },\n "subject": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "digest": {\n "description": "Value for digest.",\n "properties": {\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "description": "Declared input artifact format.",\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "description": "Local filesystem path for local.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for subject."\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n }\n },\n "required": [\n "static_members",\n "decompiler",\n "methods"\n ],\n "type": "object"\n },\n "kind": "application",\n "name": "import_managed_reconstruction",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "decompiler": {\n "additionalProperties": false,\n "properties": {\n "executable_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "family": {\n "enum": [\n "ilspy",\n "dnspy",\n "dnlib",\n "mono-cecil",\n "other"\n ],\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "options": {\n "default": [],\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "options_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n }\n },\n "required": [\n "name",\n "version",\n "family",\n "executable_sha256",\n "options",\n "options_sha256"\n ],\n "type": "object"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "maxItems": 1,\n "minItems": 1,\n "type": "array"\n },\n "executed": {\n "const": false,\n "type": "boolean"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "methods": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "body_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "declaring_type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "il_size": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "name": {\n "type": "string"\n },\n "normalized_il_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "reconstruction": {\n "additionalProperties": false,\n "properties": {\n "end_line": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "kind": {\n "enum": [\n "decompiled-csharp",\n "decompiled-il",\n "semantic-pseudocode"\n ],\n "type": "string"\n },\n "language": {\n "enum": [\n "csharp",\n "il",\n "pseudocode"\n ],\n "type": "string"\n },\n "line_count": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "source_path": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "start_line": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "text": {\n "minLength": 1,\n "type": "string"\n },\n "text_length": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "text_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "language",\n "text",\n "text_sha256",\n "text_length",\n "line_count",\n "source_path",\n "start_line",\n "end_line"\n ],\n "type": "object"\n },\n "signature_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "token": {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n },\n "validation": {\n "additionalProperties": false,\n "properties": {\n "canonical_observation": {\n "const": false,\n "type": "boolean"\n },\n "confidence_floor": {\n "const": "inference",\n "type": "string"\n },\n "exact_build_required": {\n "const": true,\n "type": "boolean"\n },\n "matched_static_member": {\n "const": true,\n "type": "boolean"\n }\n },\n "required": [\n "matched_static_member",\n "exact_build_required",\n "canonical_observation",\n "confidence_floor"\n ],\n "type": "object"\n }\n },\n "required": [\n "token",\n "declaring_type",\n "name",\n "signature_sha256",\n "normalized_il_sha256",\n "body_sha256",\n "il_size",\n "reconstruction",\n "validation"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "notes": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "phase": {\n "const": "reconstruction-import",\n "type": "string"\n },\n "reconstruction_id": {\n "pattern": "^mre_[a-f0-9]{64}$",\n "type": "string"\n },\n "static_observation": {\n "additionalProperties": false,\n "properties": {\n "artifact_path": {\n "minLength": 1,\n "type": "string"\n },\n "artifact_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "byte_length": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "metadata_status": {\n "enum": [\n "absent",\n "complete",\n "partial",\n "malformed"\n ],\n "type": "string"\n },\n "module_name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "mvid": {\n "anyOf": [\n {\n "pattern": "^[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "artifact_sha256",\n "artifact_path",\n "byte_length",\n "module_name",\n "mvid",\n "metadata_status"\n ],\n "type": "object"\n },\n "summary": {\n "additionalProperties": false,\n "properties": {\n "decompiled_csharp_methods": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "decompiled_il_methods": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "imported_methods": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "pseudocode_methods": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "total_text_bytes": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "imported_methods",\n "decompiled_csharp_methods",\n "decompiled_il_methods",\n "pseudocode_methods",\n "total_text_bytes"\n ],\n "type": "object"\n }\n },\n "required": [\n "reconstruction_id",\n "phase",\n "executed",\n "static_observation",\n "decompiler",\n "summary",\n "methods",\n "notes",\n "evidence_links",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": true,\n "title": "Import Managed Reconstruction"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "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.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "managed_artifact": {\n "additionalProperties": false,\n "description": "Value for managed artifact.",\n "properties": {\n "analysis_profile": {\n "description": "Value for analysis profile.",\n "properties": {\n "digest": {\n "description": "Value for digest.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "description": "Value for version.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "description": "Value for authority.",\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "description": "Value for confidence.",\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "description": "Value for architecture.",\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "description": "Value for isolation.",\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "description": "Value for platform.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for environment."\n },\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "description": "Value for evidence links.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "description": "Value for locations.",\n "items": {\n "oneOf": [\n {\n "properties": {\n "address": {\n "description": "Value for address.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "artifact-path",\n "description": "Value for kind.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "file-offset",\n "description": "Value for kind.",\n "type": "string"\n },\n "offset": {\n "description": "Value for offset.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0",\n "description": "Value for normalized result."\n },\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "description": "Value for predicate type.",\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for version."\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for raw result."\n },\n "subject": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "digest": {\n "description": "Value for digest.",\n "properties": {\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "description": "Declared input artifact format.",\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "description": "Local filesystem path for local.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for subject."\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "managed_members": {\n "additionalProperties": false,\n "description": "Value for managed members.",\n "properties": {\n "analysis_profile": {\n "description": "Value for analysis profile.",\n "properties": {\n "digest": {\n "description": "Value for digest.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "description": "Value for version.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "description": "Value for authority.",\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "description": "Value for confidence.",\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "description": "Value for architecture.",\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "description": "Value for isolation.",\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "description": "Value for platform.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for environment."\n },\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "description": "Value for evidence links.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "description": "Value for locations.",\n "items": {\n "oneOf": [\n {\n "properties": {\n "address": {\n "description": "Value for address.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "artifact-path",\n "description": "Value for kind.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "file-offset",\n "description": "Value for kind.",\n "type": "string"\n },\n "offset": {\n "description": "Value for offset.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0",\n "description": "Value for normalized result."\n },\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "description": "Value for predicate type.",\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for version."\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for raw result."\n },\n "subject": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "digest": {\n "description": "Value for digest.",\n "properties": {\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "description": "Declared input artifact format.",\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "description": "Local filesystem path for local.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for subject."\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "managed_native_boundaries": {\n "additionalProperties": false,\n "description": "Value for managed native boundaries.",\n "properties": {\n "analysis_profile": {\n "description": "Value for analysis profile.",\n "properties": {\n "digest": {\n "description": "Value for digest.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "description": "Value for version.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "description": "Value for authority.",\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "description": "Value for confidence.",\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "description": "Value for architecture.",\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "description": "Value for isolation.",\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "description": "Value for platform.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for environment."\n },\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "description": "Value for evidence links.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "description": "Value for locations.",\n "items": {\n "oneOf": [\n {\n "properties": {\n "address": {\n "description": "Value for address.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "artifact-path",\n "description": "Value for kind.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "file-offset",\n "description": "Value for kind.",\n "type": "string"\n },\n "offset": {\n "description": "Value for offset.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0",\n "description": "Value for normalized result."\n },\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "description": "Value for predicate type.",\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for version."\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for raw result."\n },\n "subject": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "digest": {\n "description": "Value for digest.",\n "properties": {\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "description": "Declared input artifact format.",\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "description": "Local filesystem path for local.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for subject."\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n }\n },\n "required": [\n "managed_artifact"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "managed_artifact": {\n "additionalProperties": false,\n "description": "Value for managed artifact.",\n "properties": {\n "analysis_profile": {\n "description": "Value for analysis profile.",\n "properties": {\n "digest": {\n "description": "Value for digest.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "description": "Value for version.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "description": "Value for authority.",\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "description": "Value for confidence.",\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "description": "Value for architecture.",\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "description": "Value for isolation.",\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "description": "Value for platform.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for environment."\n },\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "description": "Value for evidence links.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "description": "Value for locations.",\n "items": {\n "oneOf": [\n {\n "properties": {\n "address": {\n "description": "Value for address.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "artifact-path",\n "description": "Value for kind.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "file-offset",\n "description": "Value for kind.",\n "type": "string"\n },\n "offset": {\n "description": "Value for offset.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0",\n "description": "Value for normalized result."\n },\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "description": "Value for predicate type.",\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for version."\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for raw result."\n },\n "subject": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "digest": {\n "description": "Value for digest.",\n "properties": {\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "description": "Declared input artifact format.",\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "description": "Local filesystem path for local.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for subject."\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "managed_members": {\n "additionalProperties": false,\n "description": "Value for managed members.",\n "properties": {\n "analysis_profile": {\n "description": "Value for analysis profile.",\n "properties": {\n "digest": {\n "description": "Value for digest.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "description": "Value for version.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "description": "Value for authority.",\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "description": "Value for confidence.",\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "description": "Value for architecture.",\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "description": "Value for isolation.",\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "description": "Value for platform.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for environment."\n },\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "description": "Value for evidence links.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "description": "Value for locations.",\n "items": {\n "oneOf": [\n {\n "properties": {\n "address": {\n "description": "Value for address.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "artifact-path",\n "description": "Value for kind.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "file-offset",\n "description": "Value for kind.",\n "type": "string"\n },\n "offset": {\n "description": "Value for offset.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0",\n "description": "Value for normalized result."\n },\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "description": "Value for predicate type.",\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for version."\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for raw result."\n },\n "subject": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "digest": {\n "description": "Value for digest.",\n "properties": {\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "description": "Declared input artifact format.",\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "description": "Local filesystem path for local.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for subject."\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "managed_native_boundaries": {\n "additionalProperties": false,\n "description": "Value for managed native boundaries.",\n "properties": {\n "analysis_profile": {\n "description": "Value for analysis profile.",\n "properties": {\n "digest": {\n "description": "Value for digest.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "description": "Value for version.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "description": "Value for authority.",\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "description": "Value for confidence.",\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "description": "Value for architecture.",\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "description": "Value for isolation.",\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "description": "Value for platform.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for environment."\n },\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "description": "Value for evidence links.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "description": "Value for locations.",\n "items": {\n "oneOf": [\n {\n "properties": {\n "address": {\n "description": "Value for address.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "artifact-path",\n "description": "Value for kind.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "file-offset",\n "description": "Value for kind.",\n "type": "string"\n },\n "offset": {\n "description": "Value for offset.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0",\n "description": "Value for normalized result."\n },\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "description": "Value for predicate type.",\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for version."\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for raw result."\n },\n "subject": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "digest": {\n "description": "Value for digest.",\n "properties": {\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "description": "Declared input artifact format.",\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "description": "Local filesystem path for local.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for subject."\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n }\n },\n "required": [\n "managed_members"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "managed_artifact": {\n "additionalProperties": false,\n "description": "Value for managed artifact.",\n "properties": {\n "analysis_profile": {\n "description": "Value for analysis profile.",\n "properties": {\n "digest": {\n "description": "Value for digest.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "description": "Value for version.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "description": "Value for authority.",\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "description": "Value for confidence.",\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "description": "Value for architecture.",\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "description": "Value for isolation.",\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "description": "Value for platform.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for environment."\n },\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "description": "Value for evidence links.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "description": "Value for locations.",\n "items": {\n "oneOf": [\n {\n "properties": {\n "address": {\n "description": "Value for address.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "artifact-path",\n "description": "Value for kind.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "file-offset",\n "description": "Value for kind.",\n "type": "string"\n },\n "offset": {\n "description": "Value for offset.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0",\n "description": "Value for normalized result."\n },\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "description": "Value for predicate type.",\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for version."\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for raw result."\n },\n "subject": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "digest": {\n "description": "Value for digest.",\n "properties": {\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "description": "Declared input artifact format.",\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "description": "Local filesystem path for local.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for subject."\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "managed_members": {\n "additionalProperties": false,\n "description": "Value for managed members.",\n "properties": {\n "analysis_profile": {\n "description": "Value for analysis profile.",\n "properties": {\n "digest": {\n "description": "Value for digest.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "description": "Value for version.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "description": "Value for authority.",\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "description": "Value for confidence.",\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "description": "Value for architecture.",\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "description": "Value for isolation.",\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "description": "Value for platform.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for environment."\n },\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "description": "Value for evidence links.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "description": "Value for locations.",\n "items": {\n "oneOf": [\n {\n "properties": {\n "address": {\n "description": "Value for address.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "artifact-path",\n "description": "Value for kind.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "file-offset",\n "description": "Value for kind.",\n "type": "string"\n },\n "offset": {\n "description": "Value for offset.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0",\n "description": "Value for normalized result."\n },\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "description": "Value for predicate type.",\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for version."\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for raw result."\n },\n "subject": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "digest": {\n "description": "Value for digest.",\n "properties": {\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "description": "Declared input artifact format.",\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "description": "Local filesystem path for local.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for subject."\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "managed_native_boundaries": {\n "additionalProperties": false,\n "description": "Value for managed native boundaries.",\n "properties": {\n "analysis_profile": {\n "description": "Value for analysis profile.",\n "properties": {\n "digest": {\n "description": "Value for digest.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "description": "Value for version.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "description": "Value for authority.",\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "description": "Value for confidence.",\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "description": "Value for architecture.",\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "description": "Value for isolation.",\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "description": "Value for platform.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for environment."\n },\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "description": "Value for evidence links.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "description": "Value for locations.",\n "items": {\n "oneOf": [\n {\n "properties": {\n "address": {\n "description": "Value for address.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "artifact-path",\n "description": "Value for kind.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "file-offset",\n "description": "Value for kind.",\n "type": "string"\n },\n "offset": {\n "description": "Value for offset.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0",\n "description": "Value for normalized result."\n },\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "description": "Value for predicate type.",\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for version."\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for raw result."\n },\n "subject": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "digest": {\n "description": "Value for digest.",\n "properties": {\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "description": "Declared input artifact format.",\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "description": "Local filesystem path for local.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for subject."\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n }\n },\n "required": [\n "managed_native_boundaries"\n ],\n "type": "object"\n }\n ],\n "examples": [\n {\n "managed_members": {\n "authority": "shipped-artifact",\n "confidence": "observed",\n "environment": null,\n "evidence_id": "ev_cf07661a99083e446ac5f18af3ca331cb1af7c3cd6cb7c9dc8bff880a1ed8bb9",\n "evidence_links": [],\n "limitations": [\n "Artifact identity is unavailable for this observation."\n ],\n "locations": [],\n "normalized_result": {\n "artifact": {\n "byte_length": 4096,\n "format": "pe",\n "path": "/examples/22222222.dll",\n "sha256": "2222222222222222222222222222222222222222222222222222222222222222"\n },\n "call_edges": [],\n "coverage": {\n "issues": [],\n "state": "complete"\n },\n "field_accesses": [],\n "fields": [],\n "identity_scope": {\n "requires_artifact_sha256": "2222222222222222222222222222222222222222222222222222222222222222",\n "requires_mvid": "11112222-3333-4444-9555-666677778888",\n "token_identity": "build-local"\n },\n "limitations": [],\n "member_refs": [],\n "metadata": {\n "status": "complete",\n "table_row_counts": {},\n "version": "v4.0.30319"\n },\n "methods": [\n {\n "body": {\n "anchors": [],\n "decoded_instruction_count": 1,\n "exception_regions": [],\n "file_offset": 512,\n "header_format": "tiny",\n "il_sha256": "4444444444444444444444444444444444444444444444444444444444444444",\n "il_size": 1,\n "init_locals": false,\n "instruction_count": 1,\n "issue": null,\n "local_var_sig_token": null,\n "max_stack": 8,\n "normalized_il_sha256": "5555555555555555555555555555555555555555555555555555555555555555",\n "opcode_counts": {\n "ret": 1\n },\n "rva": 8192,\n "status": "present",\n "truncated_instructions": 0\n },\n "declaring_type": "Example.Program",\n "declaring_type_token": "0x02000001",\n "flags": 22,\n "impl_flags": 0,\n "name": "Main",\n "row_offset": 128,\n "rva": 8192,\n "signature": {\n "calling_convention": "default",\n "field_type": null,\n "generic_parameter_count": 0,\n "issue": null,\n "kind": "method",\n "parameter_count": 0,\n "parameter_types": [],\n "parse_status": "decoded",\n "raw_length": 3,\n "raw_sha256": "3333333333333333333333333333333333333333333333333333333333333333",\n "return_type": "void"\n },\n "token": "0x06000001"\n }\n ],\n "module": {\n "enc_base_id": null,\n "enc_id": null,\n "generation": 0,\n "mvid": "11112222-3333-4444-9555-666677778888",\n "name": "Example.dll",\n "row_offset": 0,\n "token": "0x00000001"\n },\n "types": []\n },\n "operation": "inspect_managed_members",\n "parameters": {},\n "predicate_type": "rea.analysis",\n "provider": {\n "id": "rea-dotnet-static",\n "name": "REA managed static analysis provider",\n "version": "1"\n },\n "raw_result": null,\n "subject": null\n }\n }\n ],\n "type": "object"\n },\n "kind": "application",\n "name": "project_managed_application_graph",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "coverage": {\n "additionalProperties": false,\n "properties": {\n "status": {\n "enum": [\n "complete-within-inputs",\n "partial"\n ],\n "type": "string"\n }\n },\n "required": [\n "status"\n ],\n "type": "object"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "maxItems": 3,\n "minItems": 1,\n "type": "array"\n },\n "graph": {\n "additionalProperties": false,\n "properties": {\n "coverage": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "const": 0,\n "type": "number"\n },\n "status": {\n "const": "complete",\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "partial",\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "omitted_count": {\n "anyOf": [\n {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "partial",\n "type": "string"\n },\n "truncated": {\n "const": true,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "type": "null"\n },\n "status": {\n "enum": [\n "unknown",\n "unavailable"\n ],\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n }\n ]\n },\n "edges": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "edge_id": {\n "pattern": "^jag_edge_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "artifact": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "artifact_id": {\n "pattern": "^art_[a-f0-9]{64}$",\n "type": "string"\n },\n "available": {\n "const": true,\n "type": "boolean"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "available",\n "artifact_id",\n "sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "enum": [\n "not-applicable",\n "not-observed",\n "truncated",\n "provider-unavailable",\n "unresolved",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason",\n "detail"\n ],\n "type": "object"\n }\n ]\n },\n "authority": {\n "enum": [\n "artifact-bytes",\n "ast-static-analysis",\n "static-relationship-inference",\n "passive-cdp-runtime",\n "cross-layer-reconciliation",\n "cross-version-comparison",\n "controlled-replay",\n "native-analysis-provider",\n "managed-static-analysis",\n "historical-reference",\n "user-assertion",\n "unknown"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "exact",\n "high",\n "medium",\n "low",\n "unknown"\n ],\n "type": "string"\n },\n "coverage": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "const": 0,\n "type": "number"\n },\n "status": {\n "const": "complete",\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "partial",\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "omitted_count": {\n "anyOf": [\n {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "partial",\n "type": "string"\n },\n "truncated": {\n "const": true,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "type": "null"\n },\n "status": {\n "enum": [\n "unknown",\n "unavailable"\n ],\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n }\n ]\n },\n "evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "extractor": {\n "additionalProperties": false,\n "properties": {\n "executable_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "version",\n "operation",\n "executable_sha256"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "location": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "value": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "line",\n "column"\n ],\n "type": "object"\n },\n "kind": {\n "const": "source-range",\n "type": "string"\n },\n "source": {\n "minLength": 1,\n "type": "string"\n },\n "start": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "line",\n "column"\n ],\n "type": "object"\n }\n },\n "required": [\n "kind",\n "source",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "url",\n "type": "string"\n },\n "url": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "url"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "capture_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "frame_key": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "kind": {\n "const": "runtime",\n "type": "string"\n },\n "script_key": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "target_key": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "capture_sha256",\n "target_key",\n "frame_key",\n "script_key"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "native-address",\n "type": "string"\n },\n "symbol": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "kind",\n "address",\n "symbol"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "export_path": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "package-export",\n "type": "string"\n },\n "package_name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "package_name",\n "export_path"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "available",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "enum": [\n "not-applicable",\n "not-observed",\n "truncated",\n "provider-unavailable",\n "unresolved",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason",\n "detail"\n ],\n "type": "object"\n }\n ]\n },\n "state": {\n "enum": [\n "observed",\n "inferred",\n "unknown",\n "unavailable"\n ],\n "type": "string"\n }\n },\n "required": [\n "authority",\n "state",\n "confidence",\n "artifact",\n "location",\n "extractor",\n "coverage",\n "limitations",\n "evidence_ids"\n ],\n "type": "object"\n },\n "identifier_strategy": {\n "additionalProperties": false,\n "properties": {\n "stability": {\n "const": "relationship-exact",\n "type": "string"\n },\n "strategy": {\n "const": "semantic-content-sha256",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability"\n ],\n "type": "object"\n },\n "properties": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "minLength": 1,\n "type": "string"\n },\n "type": "object"\n },\n "relation": {\n "enum": [\n "contains",\n "loads",\n "imports",\n "maps_to",\n "exposes",\n "sends",\n "invokes",\n "handles",\n "calls",\n "persists_to",\n "observed_as",\n "changed_from"\n ],\n "type": "string"\n },\n "source_node_id": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "target_node_id": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "source_node_id",\n "target_node_id",\n "relation",\n "properties",\n "evidence",\n "edge_id",\n "identifier_strategy"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "graph_id": {\n "pattern": "^jag_[a-f0-9]{64}$",\n "type": "string"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "nodes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "identity": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "stability": {\n "const": "global-exact",\n "type": "string"\n },\n "strategy": {\n "const": "content-digest",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability",\n "sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "original_source": {\n "type": "string"\n },\n "source_map_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "source_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "stability": {\n "const": "source-map-exact",\n "type": "string"\n },\n "strategy": {\n "const": "source-map-original",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability",\n "source_map_sha256",\n "original_source",\n "source_sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "artifact_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n },\n "stability": {\n "const": "artifact-version",\n "type": "string"\n },\n "strategy": {\n "const": "canonical-path",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability",\n "artifact_sha256",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "algorithm": {\n "minLength": 1,\n "type": "string"\n },\n "basis": {\n "items": {\n "enum": [\n "syntax-tree",\n "control-flow",\n "imports",\n "exports",\n "literals",\n "api-usage"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "fingerprint_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "stability": {\n "const": "cross-version-inference",\n "type": "string"\n },\n "strategy": {\n "const": "structural-fingerprint",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability",\n "algorithm",\n "fingerprint_sha256",\n "basis"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "artifact_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "key": {\n "type": "string"\n },\n "namespace": {\n "minLength": 1,\n "type": "string"\n },\n "stability": {\n "const": "artifact-version",\n "type": "string"\n },\n "strategy": {\n "const": "artifact-local-key",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability",\n "artifact_sha256",\n "namespace",\n "key"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "capture_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "runtime_key": {\n "minLength": 1,\n "type": "string"\n },\n "stability": {\n "const": "capture-only",\n "type": "string"\n },\n "strategy": {\n "const": "runtime-instance",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability",\n "capture_sha256",\n "runtime_key"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "observation_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "scope": {\n "minLength": 1,\n "type": "string"\n },\n "stability": {\n "const": "observation-only",\n "type": "string"\n },\n "strategy": {\n "const": "observation-fingerprint",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability",\n "observation_sha256",\n "scope"\n ],\n "type": "object"\n }\n ]\n },\n "kind": {\n "enum": [\n "package",\n "installer",\n "artifact",\n "asar-entry",\n "electron-main",\n "electron-preload",\n "electron-renderer",\n "electron-utility",\n "javascript-asset",\n "javascript-chunk",\n "javascript-module",\n "source-map",\n "source-module",\n "browser-window",\n "frame",\n "target",\n "context-bridge-api",\n "ipc-channel",\n "ipc-handler",\n "worker",\n "service-worker",\n "endpoint",\n "storage",\n "native-addon",\n "native-export",\n "managed-assembly",\n "managed-module",\n "managed-type",\n "managed-method",\n "managed-field",\n "managed-pinvoke-import",\n "managed-native-implementation",\n "runtime-script-instance",\n "unknown"\n ],\n "type": "string"\n },\n "node_id": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "observations": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "artifact": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "artifact_id": {\n "pattern": "^art_[a-f0-9]{64}$",\n "type": "string"\n },\n "available": {\n "const": true,\n "type": "boolean"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "available",\n "artifact_id",\n "sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "enum": [\n "not-applicable",\n "not-observed",\n "truncated",\n "provider-unavailable",\n "unresolved",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason",\n "detail"\n ],\n "type": "object"\n }\n ]\n },\n "authority": {\n "enum": [\n "artifact-bytes",\n "ast-static-analysis",\n "static-relationship-inference",\n "passive-cdp-runtime",\n "cross-layer-reconciliation",\n "cross-version-comparison",\n "controlled-replay",\n "native-analysis-provider",\n "managed-static-analysis",\n "historical-reference",\n "user-assertion",\n "unknown"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "exact",\n "high",\n "medium",\n "low",\n "unknown"\n ],\n "type": "string"\n },\n "coverage": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "const": 0,\n "type": "number"\n },\n "status": {\n "const": "complete",\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "partial",\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "omitted_count": {\n "anyOf": [\n {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "partial",\n "type": "string"\n },\n "truncated": {\n "const": true,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "type": "null"\n },\n "status": {\n "enum": [\n "unknown",\n "unavailable"\n ],\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n }\n ]\n },\n "evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "extractor": {\n "additionalProperties": false,\n "properties": {\n "executable_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "version",\n "operation",\n "executable_sha256"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "location": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "value": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "line",\n "column"\n ],\n "type": "object"\n },\n "kind": {\n "const": "source-range",\n "type": "string"\n },\n "source": {\n "minLength": 1,\n "type": "string"\n },\n "start": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "line",\n "column"\n ],\n "type": "object"\n }\n },\n "required": [\n "kind",\n "source",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "url",\n "type": "string"\n },\n "url": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "url"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "capture_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "frame_key": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "kind": {\n "const": "runtime",\n "type": "string"\n },\n "script_key": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "target_key": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "capture_sha256",\n "target_key",\n "frame_key",\n "script_key"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "native-address",\n "type": "string"\n },\n "symbol": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "kind",\n "address",\n "symbol"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "export_path": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "package-export",\n "type": "string"\n },\n "package_name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "package_name",\n "export_path"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "available",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "enum": [\n "not-applicable",\n "not-observed",\n "truncated",\n "provider-unavailable",\n "unresolved",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason",\n "detail"\n ],\n "type": "object"\n }\n ]\n },\n "state": {\n "enum": [\n "observed",\n "inferred",\n "unknown",\n "unavailable"\n ],\n "type": "string"\n }\n },\n "required": [\n "authority",\n "state",\n "confidence",\n "artifact",\n "location",\n "extractor",\n "coverage",\n "limitations",\n "evidence_ids"\n ],\n "type": "object"\n },\n "identifier_strategy": {\n "additionalProperties": false,\n "properties": {\n "stability": {\n "const": "observation-exact",\n "type": "string"\n },\n "strategy": {\n "const": "semantic-content-sha256",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability"\n ],\n "type": "object"\n },\n "label": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "observation_id": {\n "pattern": "^jag_observation_[a-f0-9]{64}$",\n "type": "string"\n },\n "properties": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "minLength": 1,\n "type": "string"\n },\n "type": "object"\n }\n },\n "required": [\n "label",\n "properties",\n "evidence",\n "observation_id",\n "identifier_strategy"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "node_id",\n "kind",\n "identity",\n "observations"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "root_node_ids": {\n "items": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "schema": {\n "const": "JavaScriptApplicationGraph",\n "type": "string"\n }\n },\n "required": [\n "schema",\n "root_node_ids",\n "nodes",\n "edges",\n "coverage",\n "limitations",\n "graph_id"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "projection_id": {\n "pattern": "^magp_[a-f0-9]{64}$",\n "type": "string"\n },\n "root_artifact_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "source_evidence": {\n "additionalProperties": false,\n "properties": {\n "managed_artifact_evidence_id": {\n "anyOf": [\n {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "managed_members_evidence_id": {\n "anyOf": [\n {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "managed_native_boundaries_evidence_id": {\n "anyOf": [\n {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "managed_artifact_evidence_id",\n "managed_members_evidence_id",\n "managed_native_boundaries_evidence_id"\n ],\n "type": "object"\n },\n "summary": {\n "additionalProperties": false,\n "properties": {\n "assemblies": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "fields": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "graph_edges": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "graph_nodes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "methods": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "modules": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "native_implementations": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "pinvoke_imports": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "types": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "graph_nodes",\n "graph_edges",\n "assemblies",\n "modules",\n "types",\n "methods",\n "fields",\n "pinvoke_imports",\n "native_implementations"\n ],\n "type": "object"\n }\n },\n "required": [\n "projection_id",\n "root_artifact_sha256",\n "source_evidence",\n "summary",\n "graph",\n "coverage",\n "evidence_links",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": true,\n "title": "Project Managed Application Graph"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": true,\n "readOnlyHint": false\n },\n "description": "List page targets exposed by the selected loopback Chrome DevTools Protocol endpoint. Optionally filter by exact origin. URLs preserve query values and fragments; only URL userinfo credentials are removed.",\n "effects": {\n "accessesNetwork": true,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {\n "cdp_endpoint": "http://127.0.0.1:9222"\n }\n ],\n "properties": {\n "allowed_origins": {\n "description": "Value for allowed origins.",\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "cdp_endpoint": {\n "description": "Literal loopback Chrome DevTools Protocol endpoint.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "cdp_endpoint"\n ],\n "type": "object"\n },\n "kind": "browser-provider",\n "name": "list_browser_targets",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "browser": {\n "additionalProperties": false,\n "properties": {\n "js_version": {\n "type": "string"\n },\n "product": {\n "type": "string"\n },\n "protocol_version": {\n "type": "string"\n },\n "revision": {\n "type": "string"\n },\n "user_agent": {\n "type": "string"\n }\n },\n "required": [\n "product",\n "protocol_version",\n "revision",\n "user_agent",\n "js_version"\n ],\n "type": "object"\n },\n "excluded": {\n "additionalProperties": false,\n "properties": {\n "disallowed_origin": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "non_page": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "unsupported_url": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "disallowed_origin",\n "unsupported_url",\n "non_page"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "targets": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "attached": {\n "type": "boolean"\n },\n "origin": {\n "type": "string"\n },\n "target_id": {\n "type": "string"\n },\n "title": {\n "type": "string"\n },\n "type": {\n "type": "string"\n },\n "url": {\n "type": "string"\n }\n },\n "required": [\n "target_id",\n "type",\n "title",\n "url",\n "origin",\n "attached"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "browser",\n "targets",\n "excluded",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "List Browser Targets"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": true,\n "readOnlyHint": false\n },\n "description": "Passively inspect one selected page target through CDP without evaluating JavaScript, navigating, clicking, closing, or mutating the page. If no origin filter is supplied, capture is scoped to the target\'s current origin. Returns DOM structure, accessibility, scripts, resources, attach-window network and console metadata, workers, and redacted storage inventory as Evidence.",\n "effects": {\n "accessesNetwork": true,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "allowed_origins": {\n "description": "Value for allowed origins.",\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "cdp_endpoint": {\n "description": "Literal loopback Chrome DevTools Protocol endpoint.",\n "minLength": 1,\n "type": "string"\n },\n "include_accessibility_text": {\n "default": false,\n "description": "Whether to include accessibility text in the result.",\n "type": "boolean"\n },\n "include_console_text": {\n "default": false,\n "description": "Whether to include console text in the result.",\n "type": "boolean"\n },\n "include_json_body_shapes": {\n "default": false,\n "description": "Whether to include json body shapes in the result.",\n "type": "boolean"\n },\n "include_script_sources": {\n "const": false,\n "default": false,\n "description": "Whether to include script sources in the result.",\n "type": "boolean"\n },\n "include_storage_fingerprints": {\n "default": false,\n "description": "Whether to include storage fingerprints in the result.",\n "type": "boolean"\n },\n "include_storage_keys": {\n "default": false,\n "description": "Whether to include storage keys in the result.",\n "type": "boolean"\n },\n "include_websocket_shapes": {\n "default": false,\n "description": "Whether to include websocket shapes in the result.",\n "type": "boolean"\n },\n "observation_ms": {\n "default": 500,\n "description": "Value for observation ms.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "target_id": {\n "description": "Exact CDP target identifier selected from the endpoint\'s target listing.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "cdp_endpoint",\n "target_id"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "allowed_origins": {\n "description": "Value for allowed origins.",\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "cdp_endpoint": {\n "description": "Literal loopback Chrome DevTools Protocol endpoint.",\n "minLength": 1,\n "type": "string"\n },\n "include_accessibility_text": {\n "default": false,\n "description": "Whether to include accessibility text in the result.",\n "type": "boolean"\n },\n "include_console_text": {\n "default": false,\n "description": "Whether to include console text in the result.",\n "type": "boolean"\n },\n "include_json_body_shapes": {\n "default": false,\n "description": "Whether to include json body shapes in the result.",\n "type": "boolean"\n },\n "include_script_sources": {\n "const": true,\n "default": true,\n "description": "Whether to include script sources in the result.",\n "type": "boolean"\n },\n "include_storage_fingerprints": {\n "default": false,\n "description": "Whether to include storage fingerprints in the result.",\n "type": "boolean"\n },\n "include_storage_keys": {\n "default": false,\n "description": "Whether to include storage keys in the result.",\n "type": "boolean"\n },\n "include_websocket_shapes": {\n "default": false,\n "description": "Whether to include websocket shapes in the result.",\n "type": "boolean"\n },\n "observation_ms": {\n "default": 500,\n "description": "Value for observation ms.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "target_id": {\n "description": "Exact CDP target identifier selected from the endpoint\'s target listing.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "cdp_endpoint",\n "target_id"\n ],\n "type": "object"\n }\n ],\n "examples": [\n {\n "cdp_endpoint": "http://127.0.0.1:9222",\n "target_id": "TARGET_ID_FROM_LIST_BROWSER_TARGETS"\n }\n ],\n "type": "object"\n },\n "kind": "browser-provider",\n "name": "inspect_web_page",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "accessibility": {\n "additionalProperties": false,\n "properties": {\n "nodes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "description": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "ignored": {\n "type": "boolean"\n },\n "name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "node_id": {\n "type": "string"\n },\n "parent_id": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "role": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "states": {\n "default": [],\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "type": "string"\n },\n "value": {\n "anyOf": [\n {\n "type": "boolean"\n },\n {\n "type": "number"\n },\n {\n "type": "string"\n }\n ]\n }\n },\n "required": [\n "name",\n "value"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "node_id",\n "parent_id",\n "role",\n "name",\n "description",\n "ignored",\n "states"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "text_capture": {\n "additionalProperties": false,\n "properties": {\n "excluded_fields": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "retained_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "status": {\n "enum": [\n "not_approved",\n "included",\n "unavailable"\n ],\n "type": "string"\n }\n },\n "required": [\n "status",\n "retained_bytes",\n "excluded_fields"\n ],\n "type": "object"\n },\n "total_nodes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "total_nodes",\n "text_capture",\n "nodes"\n ],\n "type": "object"\n },\n "browser": {\n "additionalProperties": false,\n "properties": {\n "js_version": {\n "type": "string"\n },\n "product": {\n "type": "string"\n },\n "protocol_version": {\n "type": "string"\n },\n "revision": {\n "type": "string"\n },\n "user_agent": {\n "type": "string"\n }\n },\n "required": [\n "product",\n "protocol_version",\n "revision",\n "user_agent",\n "js_version"\n ],\n "type": "object"\n },\n "capture_window": {\n "additionalProperties": false,\n "properties": {\n "ended_at": {\n "format": "date-time",\n "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))$",\n "type": "string"\n },\n "observation_ms": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "started_at": {\n "format": "date-time",\n "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))$",\n "type": "string"\n }\n },\n "required": [\n "started_at",\n "ended_at",\n "observation_ms"\n ],\n "type": "object"\n },\n "completeness": {\n "additionalProperties": false,\n "properties": {\n "attach_limited_sections": {\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "conditions": {\n "items": {\n "enum": [\n "complete_within_window",\n "policy_filtered",\n "attach_limited",\n "truncated"\n ],\n "type": "string"\n },\n "maxItems": 3,\n "minItems": 1,\n "type": "array"\n },\n "dropped_events": {\n "additionalProperties": false,\n "properties": {\n "console_events": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "network_requests": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "scripts": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "timeline_events": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "total": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "webmcp_tools": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "websocket_connections": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "websocket_frames": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "scripts",\n "network_requests",\n "console_events",\n "websocket_connections",\n "websocket_frames",\n "webmcp_tools",\n "timeline_events",\n "total"\n ],\n "type": "object"\n },\n "excluded": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "reason": {\n "enum": [\n "disallowed_origin",\n "unsupported_url",\n "unattributed_origin",\n "not_approved",\n "out_of_target_scope",\n "provider_unavailable",\n "invalid_protocol_value"\n ],\n "type": "string"\n },\n "section": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n }\n },\n "required": [\n "section",\n "reason",\n "count"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "policy_filtered_sections": {\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "status": {\n "enum": [\n "complete_within_window",\n "policy_filtered",\n "attach_limited",\n "truncated"\n ],\n "type": "string"\n },\n "truncated_sections": {\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "unavailable_sections": {\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n }\n },\n "required": [\n "status",\n "conditions",\n "policy_filtered_sections",\n "attach_limited_sections",\n "truncated_sections",\n "unavailable_sections",\n "excluded",\n "dropped_events"\n ],\n "type": "object"\n },\n "console": {\n "additionalProperties": false,\n "properties": {\n "coverage_started_at": {\n "format": "date-time",\n "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))$",\n "type": "string"\n },\n "events": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "argument_types": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "column": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "line": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "text_capture": {\n "additionalProperties": false,\n "properties": {\n "retained_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "status": {\n "enum": [\n "not_approved",\n "included"\n ],\n "type": "string"\n },\n "values": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "argument_index": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "text": {\n "type": "string"\n },\n "type": {\n "type": "string"\n }\n },\n "required": [\n "argument_index",\n "type",\n "text"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "status",\n "values",\n "retained_bytes"\n ],\n "type": "object"\n },\n "timestamp": {\n "type": "number"\n },\n "type": {\n "type": "string"\n },\n "url": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "type",\n "timestamp",\n "argument_types",\n "url",\n "line",\n "column",\n "text_capture"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "prior_activity_available": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "events",\n "coverage_started_at",\n "prior_activity_available"\n ],\n "type": "object"\n },\n "dom": {\n "additionalProperties": false,\n "properties": {\n "nodes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "attribute_names": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "index": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "node_name": {\n "type": "string"\n },\n "node_type": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "node_value_length": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "parent_index": {\n "maximum": 9007199254740991,\n "minimum": -1,\n "type": "integer"\n }\n },\n "required": [\n "index",\n "parent_index",\n "node_type",\n "node_name",\n "node_value_length",\n "attribute_names"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "total_nodes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "total_nodes",\n "nodes"\n ],\n "type": "object"\n },\n "frames": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "frame_id": {\n "type": "string"\n },\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "parent_frame_id": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "url": {\n "type": "string"\n }\n },\n "required": [\n "frame_id",\n "parent_frame_id",\n "url",\n "origin"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "metadata": {\n "additionalProperties": false,\n "properties": {\n "agent_hints": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "declaration": {\n "type": "string"\n },\n "mechanism": {\n "enum": [\n "link_rel",\n "dom_link_rel",\n "well_known_resource",\n "response_header"\n ],\n "type": "string"\n },\n "trust": {\n "const": "page-declared-untrusted",\n "type": "string"\n },\n "url": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "mechanism",\n "declaration",\n "url",\n "trust"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "dom_urls": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "attribute": {\n "enum": [\n "href",\n "src",\n "action",\n "formaction",\n "poster"\n ],\n "type": "string"\n },\n "destination_scope": {\n "enum": [\n "approved",\n "outside_policy",\n "unsupported"\n ],\n "type": "string"\n },\n "node_index": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "url": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "node_index",\n "attribute",\n "url",\n "destination_scope"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "excluded_dom_urls": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "headers_allowlisted": {\n "const": true,\n "type": "boolean"\n },\n "responses": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "content_encoding": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "content_length": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "csp": {\n "additionalProperties": false,\n "properties": {\n "directives": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "type": "string"\n },\n "sources": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "enum": [\n "keyword",\n "scheme",\n "approved_origin",\n "external_origin",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "kind",\n "value"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "name",\n "sources"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "hash_count": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "nonce_count": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "directives",\n "nonce_count",\n "hash_count"\n ],\n "type": "object"\n },\n "links": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "as": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "crossorigin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "destination_scope": {\n "enum": [\n "approved",\n "outside_policy",\n "unsupported"\n ],\n "type": "string"\n },\n "href": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "rel": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "href",\n "destination_scope",\n "rel",\n "as",\n "type",\n "crossorigin"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "mime_type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "policies": {\n "additionalProperties": false,\n "properties": {\n "coep": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "coop": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "corp": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "permissions_policy_features": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "referrer_policy": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "x_content_type_options": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "coop",\n "coep",\n "corp",\n "referrer_policy",\n "x_content_type_options",\n "permissions_policy_features"\n ],\n "type": "object"\n },\n "request_id": {\n "type": "string"\n },\n "url": {\n "type": "string"\n }\n },\n "required": [\n "request_id",\n "url",\n "mime_type",\n "content_length",\n "content_encoding",\n "csp",\n "links",\n "policies"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "responses",\n "dom_urls",\n "agent_hints",\n "excluded_dom_urls",\n "headers_allowlisted"\n ],\n "type": "object"\n },\n "network": {\n "additionalProperties": false,\n "properties": {\n "coverage_started_at": {\n "format": "date-time",\n "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))$",\n "type": "string"\n },\n "prior_activity_available": {\n "const": false,\n "type": "boolean"\n },\n "requests": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "body_shapes": {\n "additionalProperties": false,\n "properties": {\n "request": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "max_depth_observed": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "node_count": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "properties": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "observations": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "path": {\n "type": "string"\n },\n "types": {\n "items": {\n "enum": [\n "object",\n "array",\n "string",\n "number",\n "boolean",\n "null"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "path",\n "types",\n "observations"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "root_type": {\n "enum": [\n "object",\n "array",\n "string",\n "number",\n "boolean",\n "null"\n ],\n "type": "string"\n }\n },\n "required": [\n "root_type",\n "node_count",\n "max_depth_observed",\n "properties"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "response": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "max_depth_observed": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "node_count": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "properties": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "observations": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "path": {\n "type": "string"\n },\n "types": {\n "items": {\n "enum": [\n "object",\n "array",\n "string",\n "number",\n "boolean",\n "null"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "path",\n "types",\n "observations"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "root_type": {\n "enum": [\n "object",\n "array",\n "string",\n "number",\n "boolean",\n "null"\n ],\n "type": "string"\n }\n },\n "required": [\n "root_type",\n "node_count",\n "max_depth_observed",\n "properties"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "enum": [\n "not_approved",\n "included",\n "partial",\n "unavailable"\n ],\n "type": "string"\n }\n },\n "required": [\n "status",\n "request",\n "response"\n ],\n "type": "object"\n },\n "encoded_data_length": {\n "anyOf": [\n {\n "minimum": 0,\n "type": "number"\n },\n {\n "type": "null"\n }\n ]\n },\n "initiator": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "line": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "type": {\n "type": "string"\n },\n "url": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "type",\n "url",\n "line",\n "column"\n ],\n "type": "object"\n },\n "method": {\n "type": "string"\n },\n "mime_type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "request_id": {\n "type": "string"\n },\n "resource_type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "anyOf": [\n {\n "type": "number"\n },\n {\n "type": "null"\n }\n ]\n },\n "url": {\n "type": "string"\n }\n },\n "required": [\n "request_id",\n "url",\n "origin",\n "method",\n "resource_type",\n "status",\n "mime_type",\n "encoded_data_length",\n "initiator",\n "body_shapes"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "websocket_events": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "direction": {\n "enum": [\n "sent",\n "received"\n ],\n "type": "string"\n },\n "opcode": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "payload_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "payload_shape": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "format": {\n "enum": [\n "json",\n "text",\n "binary"\n ],\n "type": "string"\n },\n "json_shape": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "max_depth_observed": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "node_count": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "properties": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "observations": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "path": {\n "type": "string"\n },\n "types": {\n "items": {\n "enum": [\n "object",\n "array",\n "string",\n "number",\n "boolean",\n "null"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "path",\n "types",\n "observations"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "root_type": {\n "enum": [\n "object",\n "array",\n "string",\n "number",\n "boolean",\n "null"\n ],\n "type": "string"\n }\n },\n "required": [\n "root_type",\n "node_count",\n "max_depth_observed",\n "properties"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "format",\n "json_shape"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "request_id": {\n "type": "string"\n }\n },\n "required": [\n "request_id",\n "direction",\n "opcode",\n "payload_bytes",\n "payload_shape"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "requests",\n "websocket_events",\n "coverage_started_at",\n "prior_activity_available"\n ],\n "type": "object"\n },\n "resources": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "content_size": {\n "anyOf": [\n {\n "minimum": 0,\n "type": "number"\n },\n {\n "type": "null"\n }\n ]\n },\n "mime_type": {\n "type": "string"\n },\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "resource_key": {\n "pattern": "^res_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": {\n "type": "string"\n },\n "url": {\n "type": "string"\n }\n },\n "required": [\n "resource_key",\n "url",\n "origin",\n "type",\n "mime_type",\n "content_size"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "scripts": {\n "additionalProperties": false,\n "properties": {\n "items": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "cdp_hash": {\n "type": "string"\n },\n "frame_id": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "is_module": {\n "type": "boolean"\n },\n "language": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "length": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "resource_reconciliation": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "resource_key": {\n "type": "string"\n },\n "status": {\n "const": "exact",\n "type": "string"\n }\n },\n "required": [\n "status",\n "resource_key"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "candidate_resource_keys": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "status": {\n "const": "ambiguous",\n "type": "string"\n }\n },\n "required": [\n "status",\n "candidate_resource_keys"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "const": "no_exact_sanitized_url",\n "type": "string"\n },\n "status": {\n "const": "unmatched",\n "type": "string"\n }\n },\n "required": [\n "status",\n "reason"\n ],\n "type": "object"\n }\n ]\n },\n "script_key": {\n "pattern": "^scr_[a-f0-9]{64}(?:_[0-9]+)?$",\n "type": "string"\n },\n "source": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "included": {\n "const": false,\n "type": "boolean"\n },\n "reason": {\n "type": "string"\n }\n },\n "required": [\n "included",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "artifact": {\n "additionalProperties": false,\n "properties": {\n "bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "charset": {\n "const": "utf-8",\n "type": "string"\n },\n "media_type": {\n "minLength": 1,\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "text": {\n "type": "string"\n }\n },\n "required": [\n "sha256",\n "bytes",\n "media_type",\n "charset",\n "text"\n ],\n "type": "object"\n },\n "included": {\n "const": true,\n "type": "boolean"\n }\n },\n "required": [\n "included",\n "artifact"\n ],\n "type": "object"\n }\n ]\n },\n "source_map_url": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "url": {\n "type": "string"\n }\n },\n "required": [\n "script_key",\n "frame_id",\n "url",\n "origin",\n "cdp_hash",\n "length",\n "is_module",\n "language",\n "source_map_url",\n "resource_reconciliation",\n "source"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "total": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "total",\n "items"\n ],\n "type": "object"\n },\n "storage": {\n "additionalProperties": false,\n "properties": {\n "cache_names": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "content_fingerprints": {\n "default": [],\n "items": {\n "additionalProperties": false,\n "properties": {\n "complete": {\n "type": "boolean"\n },\n "identity_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "scope": {\n "enum": [\n "cookie",\n "local_storage",\n "session_storage",\n "indexed_db_schema",\n "indexed_db_record",\n "cache_entry"\n ],\n "type": "string"\n },\n "value_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "scope",\n "identity_sha256",\n "value_sha256",\n "complete"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "fingerprint_algorithm": {\n "const": "sha256",\n "default": "sha256",\n "type": "string"\n },\n "fingerprints_complete": {\n "default": false,\n "type": "boolean"\n },\n "indexed_db_names": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "local_storage_keys": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "origin": {\n "type": "string"\n },\n "quota_bytes": {\n "anyOf": [\n {\n "minimum": 0,\n "type": "number"\n },\n {\n "type": "null"\n }\n ]\n },\n "session_storage_keys": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "usage_bytes": {\n "anyOf": [\n {\n "minimum": 0,\n "type": "number"\n },\n {\n "type": "null"\n }\n ]\n },\n "values_redacted": {\n "const": true,\n "type": "boolean"\n }\n },\n "required": [\n "origin",\n "usage_bytes",\n "quota_bytes",\n "local_storage_keys",\n "session_storage_keys",\n "indexed_db_names",\n "cache_names",\n "content_fingerprints",\n "fingerprint_algorithm",\n "fingerprints_complete",\n "values_redacted"\n ],\n "type": "object"\n },\n "target": {\n "additionalProperties": false,\n "properties": {\n "attached": {\n "type": "boolean"\n },\n "origin": {\n "type": "string"\n },\n "target_id": {\n "type": "string"\n },\n "title": {\n "type": "string"\n },\n "type": {\n "type": "string"\n },\n "url": {\n "type": "string"\n }\n },\n "required": [\n "target_id",\n "type",\n "title",\n "url",\n "origin",\n "attached"\n ],\n "type": "object"\n },\n "workers": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "attached": {\n "type": "boolean"\n },\n "opener_target_id": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "parent_frame_id": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "target_id": {\n "type": "string"\n },\n "type": {\n "type": "string"\n },\n "url": {\n "type": "string"\n }\n },\n "required": [\n "target_id",\n "type",\n "url",\n "origin",\n "attached",\n "opener_target_id",\n "parent_frame_id"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "browser",\n "target",\n "capture_window",\n "completeness",\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "resources",\n "network",\n "console",\n "workers",\n "metadata",\n "storage",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Inspect Web Page"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": true,\n "readOnlyHint": false\n },\n "description": "Capture JavaScript source from one selected CDP page and statically derive a chunk graph, route and endpoint candidates, vendor fingerprints, page-declared WebMCP metadata, and optionally fetch source maps from the selected target origin or explicitly requested origins. JavaScript is parsed but never executed.",\n "effects": {\n "accessesNetwork": true,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "cdp_endpoint": "http://127.0.0.1:9222",\n "fetch_source_maps": false,\n "include_accessibility_text": false,\n "include_script_sources": true,\n "include_storage_keys": false,\n "observation_ms": 500,\n "target_id": "TARGET_ID_FROM_LIST_BROWSER_TARGETS"\n }\n ],\n "properties": {\n "allowed_origins": {\n "description": "Value for allowed origins.",\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "cdp_endpoint": {\n "description": "Literal loopback Chrome DevTools Protocol endpoint.",\n "minLength": 1,\n "type": "string"\n },\n "fetch_source_maps": {\n "default": false,\n "description": "Value for fetch source maps.",\n "type": "boolean"\n },\n "include_accessibility_text": {\n "default": false,\n "description": "Whether to include accessibility text in the result.",\n "type": "boolean"\n },\n "include_console_text": {\n "default": false,\n "description": "Whether to include console text in the result.",\n "type": "boolean"\n },\n "include_json_body_shapes": {\n "default": false,\n "description": "Whether to include json body shapes in the result.",\n "type": "boolean"\n },\n "include_script_sources": {\n "const": true,\n "default": true,\n "description": "Whether to include script sources in the result.",\n "type": "boolean"\n },\n "include_storage_fingerprints": {\n "default": false,\n "description": "Whether to include storage fingerprints in the result.",\n "type": "boolean"\n },\n "include_storage_keys": {\n "default": false,\n "description": "Whether to include storage keys in the result.",\n "type": "boolean"\n },\n "include_websocket_shapes": {\n "default": false,\n "description": "Whether to include websocket shapes in the result.",\n "type": "boolean"\n },\n "observation_ms": {\n "default": 500,\n "description": "Value for observation ms.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "target_id": {\n "description": "Exact CDP target identifier selected from the endpoint\'s target listing.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "cdp_endpoint",\n "target_id"\n ],\n "type": "object"\n },\n "kind": "browser-provider",\n "name": "analyze_web_bundle",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "capture": {\n "additionalProperties": false,\n "properties": {\n "scripts_analyzed": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "scripts_observed": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "source_artifacts": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "charset": {\n "const": "utf-8",\n "type": "string"\n },\n "media_type": {\n "minLength": 1,\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "text_available": {\n "const": true,\n "type": "boolean"\n }\n },\n "required": [\n "sha256",\n "bytes",\n "media_type",\n "charset",\n "text_available"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "target_url": {\n "type": "string"\n }\n },\n "required": [\n "target_url",\n "scripts_observed",\n "scripts_analyzed",\n "source_artifacts"\n ],\n "type": "object"\n },\n "completeness": {\n "additionalProperties": false,\n "properties": {\n "parse_failures": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "parsed_scripts": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "status": {\n "enum": [\n "complete",\n "partial"\n ],\n "type": "string"\n },\n "visited_ast_nodes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "status",\n "parsed_scripts",\n "parse_failures",\n "visited_ast_nodes"\n ],\n "type": "object"\n },\n "inferences": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "basis": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "artifact_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "column": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "detector": {\n "type": "string"\n },\n "line": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "script_key": {\n "type": "string"\n }\n },\n "required": [\n "script_key",\n "artifact_sha256",\n "line",\n "column",\n "detector"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "confidence": {\n "enum": [\n "low",\n "medium",\n "high"\n ],\n "type": "string"\n },\n "kind": {\n "enum": [\n "vendor_fingerprint",\n "route_framework",\n "bundle_runtime"\n ],\n "type": "string"\n },\n "value": {\n "type": "string"\n }\n },\n "required": [\n "kind",\n "value",\n "confidence",\n "basis"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "observations": {\n "additionalProperties": false,\n "properties": {\n "chunks": {\n "additionalProperties": false,\n "properties": {\n "edges": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "from_script_key": {\n "type": "string"\n },\n "kind": {\n "enum": [\n "static_import",\n "dynamic_import",\n "require",\n "worker_import"\n ],\n "type": "string"\n },\n "location": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "line": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "script_key": {\n "type": "string"\n }\n },\n "required": [\n "script_key",\n "line",\n "column"\n ],\n "type": "object"\n },\n "resolved_url": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "specifier": {\n "type": "string"\n }\n },\n "required": [\n "from_script_key",\n "kind",\n "specifier",\n "resolved_url",\n "location"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "nodes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "artifact_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "script_key": {\n "type": "string"\n },\n "url": {\n "type": "string"\n }\n },\n "required": [\n "script_key",\n "url",\n "artifact_sha256",\n "bytes"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "nodes",\n "edges"\n ],\n "type": "object"\n },\n "endpoints": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "location": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "line": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "script_key": {\n "type": "string"\n }\n },\n "required": [\n "script_key",\n "line",\n "column"\n ],\n "type": "object"\n },\n "mechanism": {\n "type": "string"\n },\n "value": {\n "type": "string"\n }\n },\n "required": [\n "value",\n "mechanism",\n "location"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "routes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "location": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "line": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "script_key": {\n "type": "string"\n }\n },\n "required": [\n "script_key",\n "line",\n "column"\n ],\n "type": "object"\n },\n "mechanism": {\n "type": "string"\n },\n "value": {\n "type": "string"\n }\n },\n "required": [\n "value",\n "mechanism",\n "location"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "source_maps": {\n "additionalProperties": false,\n "properties": {\n "items": {\n "items": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "artifact": {\n "additionalProperties": false,\n "properties": {\n "bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "charset": {\n "const": "utf-8",\n "type": "string"\n },\n "media_type": {\n "minLength": 1,\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "text": {\n "type": "string"\n }\n },\n "required": [\n "sha256",\n "bytes",\n "media_type",\n "charset",\n "text"\n ],\n "type": "object"\n },\n "declared_url": {\n "type": "string"\n },\n "limitation": {\n "type": "null"\n },\n "mappings": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "generated_column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "generated_line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "original_column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "original_line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "source": {\n "type": "string"\n }\n },\n "required": [\n "generated_line",\n "generated_column",\n "source",\n "original_line",\n "original_column",\n "name"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "original_module_edges": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "from_source": {\n "type": "string"\n },\n "kind": {\n "enum": [\n "static_import",\n "dynamic_import",\n "require"\n ],\n "type": "string"\n },\n "resolved_source": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "specifier": {\n "type": "string"\n }\n },\n "required": [\n "from_source",\n "kind",\n "specifier",\n "resolved_source"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "original_sources": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "artifact": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "charset": {\n "const": "utf-8",\n "type": "string"\n },\n "media_type": {\n "minLength": 1,\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "text": {\n "type": "string"\n }\n },\n "required": [\n "sha256",\n "bytes",\n "media_type",\n "charset",\n "text"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "source": {\n "type": "string"\n }\n },\n "required": [\n "source",\n "artifact"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "script_key": {\n "type": "string"\n },\n "status": {\n "const": "included",\n "type": "string"\n }\n },\n "required": [\n "script_key",\n "declared_url",\n "artifact",\n "original_sources",\n "original_module_edges",\n "mappings",\n "status",\n "limitation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "artifact": {\n "additionalProperties": false,\n "properties": {\n "bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "charset": {\n "const": "utf-8",\n "type": "string"\n },\n "media_type": {\n "minLength": 1,\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "text": {\n "type": "string"\n }\n },\n "required": [\n "sha256",\n "bytes",\n "media_type",\n "charset",\n "text"\n ],\n "type": "object"\n },\n "declared_url": {\n "type": "string"\n },\n "limitation": {\n "type": "string"\n },\n "mappings": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "generated_column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "generated_line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "original_column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "original_line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "source": {\n "type": "string"\n }\n },\n "required": [\n "generated_line",\n "generated_column",\n "source",\n "original_line",\n "original_column",\n "name"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "original_module_edges": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "from_source": {\n "type": "string"\n },\n "kind": {\n "enum": [\n "static_import",\n "dynamic_import",\n "require"\n ],\n "type": "string"\n },\n "resolved_source": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "specifier": {\n "type": "string"\n }\n },\n "required": [\n "from_source",\n "kind",\n "specifier",\n "resolved_source"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "original_sources": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "artifact": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "charset": {\n "const": "utf-8",\n "type": "string"\n },\n "media_type": {\n "minLength": 1,\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "text": {\n "type": "string"\n }\n },\n "required": [\n "sha256",\n "bytes",\n "media_type",\n "charset",\n "text"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "source": {\n "type": "string"\n }\n },\n "required": [\n "source",\n "artifact"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "script_key": {\n "type": "string"\n },\n "status": {\n "const": "partial",\n "type": "string"\n }\n },\n "required": [\n "script_key",\n "declared_url",\n "artifact",\n "original_sources",\n "original_module_edges",\n "mappings",\n "status",\n "limitation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "artifact": {\n "type": "null"\n },\n "declared_url": {\n "type": "string"\n },\n "limitation": {\n "type": "string"\n },\n "mappings": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "original_module_edges": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "original_sources": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "script_key": {\n "type": "string"\n },\n "status": {\n "enum": [\n "fetch_failed",\n "invalid",\n "policy_filtered"\n ],\n "type": "string"\n }\n },\n "required": [\n "script_key",\n "declared_url",\n "artifact",\n "original_sources",\n "original_module_edges",\n "mappings",\n "status",\n "limitation"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "processed": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "requested": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "status": {\n "enum": [\n "not_requested",\n "included",\n "partial",\n "unavailable"\n ],\n "type": "string"\n }\n },\n "required": [\n "status",\n "requested",\n "processed",\n "items"\n ],\n "type": "object"\n },\n "webmcp_declarations": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "description": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "location": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "line": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "script_key": {\n "type": "string"\n }\n },\n "required": [\n "script_key",\n "line",\n "column"\n ],\n "type": "object"\n },\n "name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "schema_property_names": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "trust": {\n "const": "page-declared-untrusted",\n "type": "string"\n }\n },\n "required": [\n "name",\n "description",\n "schema_property_names",\n "trust",\n "location"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "chunks",\n "routes",\n "endpoints",\n "webmcp_declarations",\n "source_maps"\n ],\n "type": "object"\n },\n "unknowns": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "affected_script_keys": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "dimension": {\n "type": "string"\n },\n "reason": {\n "type": "string"\n }\n },\n "required": [\n "dimension",\n "reason",\n "affected_script_keys"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "capture",\n "observations",\n "inferences",\n "unknowns",\n "completeness",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Analyze Web Bundle"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": true,\n "readOnlyHint": false\n },\n "description": "Arm a CDP observation window of the requested duration while the user operates the page. By default it follows the selected target\'s current origin; an explicit origin list controls which origins may be retained. Records navigation, redirect, lifecycle, and failure events.",\n "effects": {\n "accessesNetwork": true,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "cdp_endpoint": "http://127.0.0.1:9222",\n "observation_ms": 10000,\n "target_id": "TARGET_ID_FROM_LIST_BROWSER_TARGETS"\n }\n ],\n "properties": {\n "allowed_origins": {\n "description": "Value for allowed origins.",\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "cdp_endpoint": {\n "description": "Literal loopback Chrome DevTools Protocol endpoint.",\n "minLength": 1,\n "type": "string"\n },\n "observation_ms": {\n "default": 10000,\n "description": "Value for observation ms.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "target_id": {\n "description": "Exact CDP target identifier selected from the endpoint\'s target listing.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "cdp_endpoint",\n "target_id"\n ],\n "type": "object"\n },\n "kind": "browser-provider",\n "name": "observe_web_session",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "browser": {\n "additionalProperties": false,\n "properties": {\n "js_version": {\n "type": "string"\n },\n "product": {\n "type": "string"\n },\n "protocol_version": {\n "type": "string"\n },\n "revision": {\n "type": "string"\n },\n "user_agent": {\n "type": "string"\n }\n },\n "required": [\n "product",\n "protocol_version",\n "revision",\n "user_agent",\n "js_version"\n ],\n "type": "object"\n },\n "completeness": {\n "additionalProperties": false,\n "properties": {\n "attach_limited_sections": {\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "conditions": {\n "items": {\n "enum": [\n "complete_within_window",\n "policy_filtered",\n "attach_limited",\n "truncated"\n ],\n "type": "string"\n },\n "maxItems": 3,\n "minItems": 1,\n "type": "array"\n },\n "dropped_events": {\n "additionalProperties": false,\n "properties": {\n "console_events": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "network_requests": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "scripts": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "timeline_events": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "total": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "webmcp_tools": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "websocket_connections": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "websocket_frames": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "scripts",\n "network_requests",\n "console_events",\n "websocket_connections",\n "websocket_frames",\n "webmcp_tools",\n "timeline_events",\n "total"\n ],\n "type": "object"\n },\n "excluded": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "reason": {\n "enum": [\n "disallowed_origin",\n "unsupported_url",\n "unattributed_origin",\n "not_approved",\n "out_of_target_scope",\n "provider_unavailable",\n "invalid_protocol_value"\n ],\n "type": "string"\n },\n "section": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n }\n },\n "required": [\n "section",\n "reason",\n "count"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "policy_filtered_sections": {\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "status": {\n "enum": [\n "complete_within_window",\n "policy_filtered",\n "attach_limited",\n "truncated"\n ],\n "type": "string"\n },\n "truncated_sections": {\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "unavailable_sections": {\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n }\n },\n "required": [\n "status",\n "conditions",\n "policy_filtered_sections",\n "attach_limited_sections",\n "truncated_sections",\n "unavailable_sections",\n "excluded",\n "dropped_events"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "target": {\n "additionalProperties": false,\n "properties": {\n "final_url": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "initial_url": {\n "type": "string"\n },\n "target_id": {\n "type": "string"\n }\n },\n "required": [\n "target_id",\n "initial_url",\n "final_url"\n ],\n "type": "object"\n },\n "timeline": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "destination_scope": {\n "anyOf": [\n {\n "enum": [\n "approved",\n "outside_policy",\n "unsupported"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "detail": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "frame_id": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "loader_id": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "request_id": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "sequence": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "timestamp": {\n "minimum": 0,\n "type": "number"\n },\n "type": {\n "enum": [\n "navigation_requested",\n "navigation_committed",\n "same_origin_reload",\n "same_document_navigation",\n "redirect",\n "load_failed",\n "lifecycle",\n "target_terminated"\n ],\n "type": "string"\n },\n "url": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "sequence",\n "type",\n "timestamp",\n "frame_id",\n "loader_id",\n "request_id",\n "url",\n "destination_scope",\n "detail"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "window": {\n "additionalProperties": false,\n "properties": {\n "armed_at": {\n "format": "date-time",\n "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))$",\n "type": "string"\n },\n "end_reason": {\n "enum": [\n "window_elapsed",\n "target_left_scope",\n "target_terminated"\n ],\n "type": "string"\n },\n "ended_at": {\n "format": "date-time",\n "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))$",\n "type": "string"\n },\n "requested_ms": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "armed_at",\n "ended_at",\n "requested_ms",\n "end_reason"\n ],\n "type": "object"\n }\n },\n "required": [\n "browser",\n "target",\n "window",\n "timeline",\n "completeness",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Observe Web Session"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": true,\n "readOnlyHint": false\n },\n "description": "Passively inventory every page-registered WebMCP tool and its complete structural input-schema summary using the experimental CDP WebMCP domain. Metadata is page-declared-untrusted; REA never registers or invokes discovered tools.",\n "effects": {\n "accessesNetwork": true,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "cdp_endpoint": "http://127.0.0.1:9222",\n "observation_ms": 100,\n "target_id": "TARGET_ID_FROM_LIST_BROWSER_TARGETS"\n }\n ],\n "properties": {\n "allowed_origins": {\n "description": "Value for allowed origins.",\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "cdp_endpoint": {\n "description": "Literal loopback Chrome DevTools Protocol endpoint.",\n "minLength": 1,\n "type": "string"\n },\n "observation_ms": {\n "default": 100,\n "description": "Value for observation ms.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "target_id": {\n "description": "Exact CDP target identifier selected from the endpoint\'s target listing.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "cdp_endpoint",\n "target_id"\n ],\n "type": "object"\n },\n "kind": "browser-provider",\n "name": "discover_webmcp_tools",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "browser": {\n "additionalProperties": false,\n "properties": {\n "js_version": {\n "type": "string"\n },\n "product": {\n "type": "string"\n },\n "protocol_version": {\n "type": "string"\n },\n "revision": {\n "type": "string"\n },\n "user_agent": {\n "type": "string"\n }\n },\n "required": [\n "product",\n "protocol_version",\n "revision",\n "user_agent",\n "js_version"\n ],\n "type": "object"\n },\n "completeness": {\n "additionalProperties": false,\n "properties": {\n "attach_limited_sections": {\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "conditions": {\n "items": {\n "enum": [\n "complete_within_window",\n "policy_filtered",\n "attach_limited",\n "truncated"\n ],\n "type": "string"\n },\n "maxItems": 3,\n "minItems": 1,\n "type": "array"\n },\n "dropped_events": {\n "additionalProperties": false,\n "properties": {\n "console_events": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "network_requests": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "scripts": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "timeline_events": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "total": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "webmcp_tools": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "websocket_connections": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "websocket_frames": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "scripts",\n "network_requests",\n "console_events",\n "websocket_connections",\n "websocket_frames",\n "webmcp_tools",\n "timeline_events",\n "total"\n ],\n "type": "object"\n },\n "excluded": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "reason": {\n "enum": [\n "disallowed_origin",\n "unsupported_url",\n "unattributed_origin",\n "not_approved",\n "out_of_target_scope",\n "provider_unavailable",\n "invalid_protocol_value"\n ],\n "type": "string"\n },\n "section": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n }\n },\n "required": [\n "section",\n "reason",\n "count"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "policy_filtered_sections": {\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "status": {\n "enum": [\n "complete_within_window",\n "policy_filtered",\n "attach_limited",\n "truncated"\n ],\n "type": "string"\n },\n "truncated_sections": {\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "unavailable_sections": {\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n }\n },\n "required": [\n "status",\n "conditions",\n "policy_filtered_sections",\n "attach_limited_sections",\n "truncated_sections",\n "unavailable_sections",\n "excluded",\n "dropped_events"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "status": {\n "enum": [\n "available",\n "unavailable"\n ],\n "type": "string"\n },\n "target": {\n "additionalProperties": false,\n "properties": {\n "origin": {\n "type": "string"\n },\n "target_id": {\n "type": "string"\n },\n "url": {\n "type": "string"\n }\n },\n "required": [\n "target_id",\n "url",\n "origin"\n ],\n "type": "object"\n },\n "tools": {\n "additionalProperties": false,\n "properties": {\n "items": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "annotations": {\n "additionalProperties": false,\n "properties": {\n "autosubmit": {\n "anyOf": [\n {\n "type": "boolean"\n },\n {\n "type": "null"\n }\n ]\n },\n "read_only": {\n "anyOf": [\n {\n "type": "boolean"\n },\n {\n "type": "null"\n }\n ]\n },\n "untrusted_content": {\n "anyOf": [\n {\n "type": "boolean"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "read_only",\n "untrusted_content",\n "autosubmit"\n ],\n "type": "object"\n },\n "declaration_kind": {\n "enum": [\n "declarative",\n "imperative"\n ],\n "type": "string"\n },\n "description": {\n "type": "string"\n },\n "frame_id": {\n "type": "string"\n },\n "frame_url": {\n "type": "string"\n },\n "input_schema_shape": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "max_depth_observed": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "node_count": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "properties": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "observations": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "path": {\n "type": "string"\n },\n "types": {\n "items": {\n "enum": [\n "object",\n "array",\n "string",\n "number",\n "boolean",\n "null"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "path",\n "types",\n "observations"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "root_type": {\n "enum": [\n "object",\n "array",\n "string",\n "number",\n "boolean",\n "null"\n ],\n "type": "string"\n }\n },\n "required": [\n "root_type",\n "node_count",\n "max_depth_observed",\n "properties"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "type": "string"\n },\n "owner_origin": {\n "type": "string"\n },\n "registration_source": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "column": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "line": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "url": {\n "type": "string"\n }\n },\n "required": [\n "url",\n "line",\n "column"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "tool_key": {\n "pattern": "^webmcp_[a-f0-9]{64}$",\n "type": "string"\n },\n "trust": {\n "const": "page-declared-untrusted",\n "type": "string"\n }\n },\n "required": [\n "tool_key",\n "name",\n "description",\n "frame_id",\n "frame_url",\n "owner_origin",\n "declaration_kind",\n "input_schema_shape",\n "annotations",\n "registration_source",\n "trust"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "total": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "total",\n "items"\n ],\n "type": "object"\n }\n },\n "required": [\n "browser",\n "target",\n "status",\n "tools",\n "completeness",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Discover Webmcp Tools"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Compare passive web captures by providing before and after, or compare recorded scenarios by providing before_scenario and after_scenario with an optional normalization policy. Use exactly one input group. Scenario comparison aligns exact step IDs, records deterministic literal normalization, and returns every artifact-level difference plus alignment failures inline. Missing or truncated evidence never proves equality.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "after_scenario": {\n "browser": {\n "cleanup": "disconnected-external",\n "mode": "connect",\n "process_ownership": "external",\n "product": "Chromium",\n "version": "149"\n },\n "completeness": {\n "equality_eligible": true,\n "missing_sections": [],\n "status": "complete",\n "truncated_sections": []\n },\n "duration_ms": 10,\n "events": {\n "dropped": 0,\n "items": [],\n "retained": 0\n },\n "limitations": [],\n "scenario": {\n "action_count": 1,\n "secret_references": [],\n "start_origin": "https://app.example.test"\n },\n "steps": [\n {\n "action": "scenario_start",\n "after_url": {\n "origin": "https://app.example.test",\n "query_parameter_names": [],\n "redacted": false,\n "url": "https://app.example.test/"\n },\n "artifacts": {\n "accessibility": {\n "state": "not_requested"\n },\n "dom": {\n "state": "not_requested"\n },\n "history": {\n "state": "not_requested"\n },\n "screenshot": {\n "state": "not_requested"\n },\n "storage": {\n "state": "not_requested"\n },\n "url": {\n "state": "not_requested"\n }\n },\n "before_url": {\n "origin": "https://app.example.test",\n "query_parameter_names": [],\n "redacted": false,\n "url": "https://app.example.test/"\n },\n "completeness": {\n "equality_eligible": true,\n "missing_sections": [],\n "status": "complete",\n "truncated_sections": []\n },\n "elapsed_ms": 0,\n "error": null,\n "event_sequence_end": 0,\n "event_sequence_start": 1,\n "status": "completed",\n "step_id": "scenario_start",\n "step_index": 0\n },\n {\n "action": "click",\n "after_url": {\n "origin": "https://app.example.test",\n "query_parameter_names": [],\n "redacted": false,\n "url": "https://app.example.test/"\n },\n "artifacts": {\n "accessibility": {\n "state": "not_requested"\n },\n "dom": {\n "state": "not_requested"\n },\n "history": {\n "state": "not_requested"\n },\n "screenshot": {\n "state": "not_requested"\n },\n "storage": {\n "state": "not_requested"\n },\n "url": {\n "state": "not_requested"\n }\n },\n "before_url": {\n "origin": "https://app.example.test",\n "query_parameter_names": [],\n "redacted": false,\n "url": "https://app.example.test/"\n },\n "completeness": {\n "equality_eligible": true,\n "missing_sections": [],\n "status": "complete",\n "truncated_sections": []\n },\n "elapsed_ms": 10,\n "error": null,\n "event_sequence_end": 0,\n "event_sequence_start": 1,\n "status": "completed",\n "step_id": "open-settings",\n "step_index": 1\n }\n ]\n },\n "before_scenario": {\n "browser": {\n "cleanup": "disconnected-external",\n "mode": "connect",\n "process_ownership": "external",\n "product": "Chromium",\n "version": "149"\n },\n "completeness": {\n "equality_eligible": true,\n "missing_sections": [],\n "status": "complete",\n "truncated_sections": []\n },\n "duration_ms": 10,\n "events": {\n "dropped": 0,\n "items": [],\n "retained": 0\n },\n "limitations": [],\n "scenario": {\n "action_count": 1,\n "secret_references": [],\n "start_origin": "https://app.example.test"\n },\n "steps": [\n {\n "action": "scenario_start",\n "after_url": {\n "origin": "https://app.example.test",\n "query_parameter_names": [],\n "redacted": false,\n "url": "https://app.example.test/"\n },\n "artifacts": {\n "accessibility": {\n "state": "not_requested"\n },\n "dom": {\n "state": "not_requested"\n },\n "history": {\n "state": "not_requested"\n },\n "screenshot": {\n "state": "not_requested"\n },\n "storage": {\n "state": "not_requested"\n },\n "url": {\n "state": "not_requested"\n }\n },\n "before_url": {\n "origin": "https://app.example.test",\n "query_parameter_names": [],\n "redacted": false,\n "url": "https://app.example.test/"\n },\n "completeness": {\n "equality_eligible": true,\n "missing_sections": [],\n "status": "complete",\n "truncated_sections": []\n },\n "elapsed_ms": 0,\n "error": null,\n "event_sequence_end": 0,\n "event_sequence_start": 1,\n "status": "completed",\n "step_id": "scenario_start",\n "step_index": 0\n },\n {\n "action": "click",\n "after_url": {\n "origin": "https://app.example.test",\n "query_parameter_names": [],\n "redacted": false,\n "url": "https://app.example.test/"\n },\n "artifacts": {\n "accessibility": {\n "state": "not_requested"\n },\n "dom": {\n "state": "not_requested"\n },\n "history": {\n "state": "not_requested"\n },\n "screenshot": {\n "state": "not_requested"\n },\n "storage": {\n "state": "not_requested"\n },\n "url": {\n "state": "not_requested"\n }\n },\n "before_url": {\n "origin": "https://app.example.test",\n "query_parameter_names": [],\n "redacted": false,\n "url": "https://app.example.test/"\n },\n "completeness": {\n "equality_eligible": true,\n "missing_sections": [],\n "status": "complete",\n "truncated_sections": []\n },\n "elapsed_ms": 10,\n "error": null,\n "event_sequence_end": 0,\n "event_sequence_start": 1,\n "status": "completed",\n "step_id": "open-settings",\n "step_index": 1\n }\n ]\n },\n "normalization": {\n "rules": [\n {\n "artifacts": [\n "dom",\n "accessibility"\n ],\n "match": "build-123",\n "replacement": "[BUILD_ID]",\n "rule_id": "volatile-build-id"\n }\n ]\n }\n }\n ],\n "properties": {\n "after": {\n "description": "Later passive web-page capture.",\n "properties": {\n "inspection": {\n "description": "Value for inspection.",\n "properties": {\n "accessibility": {\n "description": "Value for accessibility.",\n "properties": {\n "nodes": {\n "description": "Value for nodes.",\n "items": {\n "properties": {\n "description": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for description."\n },\n "ignored": {\n "description": "Value for ignored.",\n "type": "boolean"\n },\n "name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Exact name used by this operation."\n },\n "node_id": {\n "description": "Value for node id.",\n "type": "string"\n },\n "parent_id": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for parent id."\n },\n "role": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for role."\n },\n "states": {\n "default": [],\n "description": "Value for states.",\n "items": {\n "properties": {\n "name": {\n "description": "Exact name used by this operation.",\n "type": "string"\n },\n "value": {\n "anyOf": [\n {\n "type": "boolean"\n },\n {\n "type": "number"\n },\n {\n "type": "string"\n }\n ],\n "description": "Value for value."\n }\n },\n "required": [\n "name",\n "value"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "node_id",\n "parent_id",\n "role",\n "name",\n "description",\n "ignored"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "text_capture": {\n "description": "Value for text capture.",\n "properties": {\n "excluded_fields": {\n "description": "Value for excluded fields.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "retained_bytes": {\n "description": "Byte count for retained.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "status": {\n "description": "Current lifecycle or verification status.",\n "enum": [\n "not_approved",\n "included",\n "unavailable"\n ],\n "type": "string"\n }\n },\n "required": [\n "status",\n "retained_bytes",\n "excluded_fields"\n ],\n "type": "object"\n },\n "total_nodes": {\n "description": "Value for total nodes.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "total_nodes",\n "text_capture",\n "nodes"\n ],\n "type": "object"\n },\n "browser": {\n "description": "Value for browser.",\n "properties": {\n "js_version": {\n "description": "Value for js version.",\n "type": "string"\n },\n "product": {\n "description": "Value for product.",\n "type": "string"\n },\n "protocol_version": {\n "description": "Value for protocol version.",\n "type": "string"\n },\n "revision": {\n "description": "Value for revision.",\n "type": "string"\n },\n "user_agent": {\n "description": "Value for user agent.",\n "type": "string"\n }\n },\n "required": [\n "product",\n "protocol_version",\n "revision",\n "user_agent",\n "js_version"\n ],\n "type": "object"\n },\n "capture_window": {\n "description": "Value for capture window.",\n "properties": {\n "ended_at": {\n "description": "Value for ended at.",\n "format": "date-time",\n "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))$",\n "type": "string"\n },\n "observation_ms": {\n "description": "Value for observation ms.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "started_at": {\n "description": "Value for started at.",\n "format": "date-time",\n "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))$",\n "type": "string"\n }\n },\n "required": [\n "started_at",\n "ended_at",\n "observation_ms"\n ],\n "type": "object"\n },\n "completeness": {\n "description": "Value for completeness.",\n "properties": {\n "attach_limited_sections": {\n "description": "Value for attach limited sections.",\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "conditions": {\n "description": "Value for conditions.",\n "items": {\n "enum": [\n "complete_within_window",\n "policy_filtered",\n "attach_limited",\n "truncated"\n ],\n "type": "string"\n },\n "maxItems": 3,\n "minItems": 1,\n "type": "array"\n },\n "dropped_events": {\n "description": "Value for dropped events.",\n "properties": {\n "console_events": {\n "description": "Value for console events.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "network_requests": {\n "description": "Value for network requests.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "scripts": {\n "description": "Value for scripts.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "timeline_events": {\n "description": "Value for timeline events.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "total": {\n "description": "Value for total.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "webmcp_tools": {\n "description": "Value for webmcp tools.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "websocket_connections": {\n "description": "Value for websocket connections.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "websocket_frames": {\n "description": "Value for websocket frames.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "scripts",\n "network_requests",\n "console_events",\n "websocket_connections",\n "websocket_frames",\n "webmcp_tools",\n "timeline_events",\n "total"\n ],\n "type": "object"\n },\n "excluded": {\n "description": "Value for excluded.",\n "items": {\n "properties": {\n "count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for count."\n },\n "reason": {\n "description": "Value for reason.",\n "enum": [\n "disallowed_origin",\n "unsupported_url",\n "unattributed_origin",\n "not_approved",\n "out_of_target_scope",\n "provider_unavailable",\n "invalid_protocol_value"\n ],\n "type": "string"\n },\n "section": {\n "description": "Value for section.",\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n }\n },\n "required": [\n "section",\n "reason",\n "count"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "policy_filtered_sections": {\n "description": "Value for policy filtered sections.",\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "status": {\n "description": "Current lifecycle or verification status.",\n "enum": [\n "complete_within_window",\n "policy_filtered",\n "attach_limited",\n "truncated"\n ],\n "type": "string"\n },\n "truncated_sections": {\n "description": "Value for truncated sections.",\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "unavailable_sections": {\n "description": "Value for unavailable sections.",\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n }\n },\n "required": [\n "status",\n "conditions",\n "policy_filtered_sections",\n "attach_limited_sections",\n "truncated_sections",\n "unavailable_sections",\n "excluded",\n "dropped_events"\n ],\n "type": "object"\n },\n "console": {\n "description": "Value for console.",\n "properties": {\n "coverage_started_at": {\n "description": "Value for coverage started at.",\n "format": "date-time",\n "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))$",\n "type": "string"\n },\n "events": {\n "description": "Value for events.",\n "items": {\n "properties": {\n "argument_types": {\n "description": "Value for argument types.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "column": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for column."\n },\n "line": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for line."\n },\n "text_capture": {\n "description": "Value for text capture.",\n "properties": {\n "retained_bytes": {\n "description": "Byte count for retained.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "status": {\n "description": "Current lifecycle or verification status.",\n "enum": [\n "not_approved",\n "included"\n ],\n "type": "string"\n },\n "values": {\n "description": "Value for values.",\n "items": {\n "properties": {\n "argument_index": {\n "description": "Value for argument index.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "text": {\n "description": "Value for text.",\n "type": "string"\n },\n "type": {\n "description": "Value for type.",\n "type": "string"\n }\n },\n "required": [\n "argument_index",\n "type",\n "text"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "status",\n "values",\n "retained_bytes"\n ],\n "type": "object"\n },\n "timestamp": {\n "description": "Value for timestamp.",\n "type": "number"\n },\n "type": {\n "description": "Value for type.",\n "type": "string"\n },\n "url": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for url."\n }\n },\n "required": [\n "type",\n "timestamp",\n "argument_types",\n "url",\n "line",\n "column",\n "text_capture"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "prior_activity_available": {\n "const": false,\n "description": "Value for prior activity available.",\n "type": "boolean"\n }\n },\n "required": [\n "events",\n "coverage_started_at",\n "prior_activity_available"\n ],\n "type": "object"\n },\n "dom": {\n "description": "Value for dom.",\n "properties": {\n "nodes": {\n "description": "Value for nodes.",\n "items": {\n "properties": {\n "attribute_names": {\n "description": "Value for attribute names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "index": {\n "description": "Value for index.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "node_name": {\n "description": "Value for node name.",\n "type": "string"\n },\n "node_type": {\n "description": "Value for node type.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "node_value_length": {\n "description": "Value for node value length.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "parent_index": {\n "description": "Value for parent index.",\n "maximum": 9007199254740991,\n "minimum": -1,\n "type": "integer"\n }\n },\n "required": [\n "index",\n "parent_index",\n "node_type",\n "node_name",\n "node_value_length",\n "attribute_names"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "total_nodes": {\n "description": "Value for total nodes.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "total_nodes",\n "nodes"\n ],\n "type": "object"\n },\n "frames": {\n "description": "Value for frames.",\n "items": {\n "properties": {\n "frame_id": {\n "description": "Value for frame id.",\n "type": "string"\n },\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "parent_frame_id": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for parent frame id."\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "frame_id",\n "parent_frame_id",\n "url",\n "origin"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "metadata": {\n "description": "Value for metadata.",\n "properties": {\n "agent_hints": {\n "description": "Value for agent hints.",\n "items": {\n "properties": {\n "declaration": {\n "description": "Value for declaration.",\n "type": "string"\n },\n "mechanism": {\n "description": "Value for mechanism.",\n "enum": [\n "link_rel",\n "dom_link_rel",\n "well_known_resource",\n "response_header"\n ],\n "type": "string"\n },\n "trust": {\n "const": "page-declared-untrusted",\n "description": "Value for trust.",\n "type": "string"\n },\n "url": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for url."\n }\n },\n "required": [\n "mechanism",\n "declaration",\n "url",\n "trust"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "dom_urls": {\n "description": "Value for dom urls.",\n "items": {\n "properties": {\n "attribute": {\n "description": "Value for attribute.",\n "enum": [\n "href",\n "src",\n "action",\n "formaction",\n "poster"\n ],\n "type": "string"\n },\n "destination_scope": {\n "description": "Value for destination scope.",\n "enum": [\n "approved",\n "outside_policy",\n "unsupported"\n ],\n "type": "string"\n },\n "node_index": {\n "description": "Value for node index.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "url": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for url."\n }\n },\n "required": [\n "node_index",\n "attribute",\n "url",\n "destination_scope"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "excluded_dom_urls": {\n "description": "Value for excluded dom urls.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "headers_allowlisted": {\n "const": true,\n "description": "Value for headers allowlisted.",\n "type": "boolean"\n },\n "responses": {\n "description": "Value for responses.",\n "items": {\n "properties": {\n "content_encoding": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for content encoding."\n },\n "content_length": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for content length."\n },\n "csp": {\n "description": "Value for csp.",\n "properties": {\n "directives": {\n "description": "Value for directives.",\n "items": {\n "properties": {\n "name": {\n "description": "Exact name used by this operation.",\n "type": "string"\n },\n "sources": {\n "description": "Value for sources.",\n "items": {\n "properties": {\n "kind": {\n "description": "Value for kind.",\n "enum": [\n "keyword",\n "scheme",\n "approved_origin",\n "external_origin",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for value."\n }\n },\n "required": [\n "kind",\n "value"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "name",\n "sources"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "hash_count": {\n "description": "Value for hash count.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "nonce_count": {\n "description": "Value for nonce count.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "directives",\n "nonce_count",\n "hash_count"\n ],\n "type": "object"\n },\n "links": {\n "description": "Value for links.",\n "items": {\n "properties": {\n "as": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for as."\n },\n "crossorigin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for crossorigin."\n },\n "destination_scope": {\n "description": "Value for destination scope.",\n "enum": [\n "approved",\n "outside_policy",\n "unsupported"\n ],\n "type": "string"\n },\n "href": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for href."\n },\n "rel": {\n "description": "Value for rel.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for type."\n }\n },\n "required": [\n "href",\n "destination_scope",\n "rel",\n "as",\n "type",\n "crossorigin"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "mime_type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for mime type."\n },\n "policies": {\n "description": "Value for policies.",\n "properties": {\n "coep": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for coep."\n },\n "coop": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for coop."\n },\n "corp": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for corp."\n },\n "permissions_policy_features": {\n "description": "Value for permissions policy features.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "referrer_policy": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for referrer policy."\n },\n "x_content_type_options": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for x content type options."\n }\n },\n "required": [\n "coop",\n "coep",\n "corp",\n "referrer_policy",\n "x_content_type_options",\n "permissions_policy_features"\n ],\n "type": "object"\n },\n "request_id": {\n "description": "Value for request id.",\n "type": "string"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "request_id",\n "url",\n "mime_type",\n "content_length",\n "content_encoding",\n "csp",\n "links",\n "policies"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "responses",\n "dom_urls",\n "agent_hints",\n "excluded_dom_urls",\n "headers_allowlisted"\n ],\n "type": "object"\n },\n "network": {\n "description": "Value for network.",\n "properties": {\n "coverage_started_at": {\n "description": "Value for coverage started at.",\n "format": "date-time",\n "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))$",\n "type": "string"\n },\n "prior_activity_available": {\n "const": false,\n "description": "Value for prior activity available.",\n "type": "boolean"\n },\n "requests": {\n "description": "Value for requests.",\n "items": {\n "properties": {\n "body_shapes": {\n "description": "Value for body shapes.",\n "properties": {\n "request": {\n "anyOf": [\n {\n "properties": {\n "max_depth_observed": {\n "description": "Maximum permitted depth observed for this operation.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "node_count": {\n "description": "Value for node count.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "properties": {\n "description": "Value for properties.",\n "items": {\n "properties": {\n "observations": {\n "description": "Value for observations.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "type": "string"\n },\n "types": {\n "description": "Value for types.",\n "items": {\n "enum": [\n "object",\n "array",\n "string",\n "number",\n "boolean",\n "null"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "path",\n "types",\n "observations"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "root_type": {\n "description": "Value for root type.",\n "enum": [\n "object",\n "array",\n "string",\n "number",\n "boolean",\n "null"\n ],\n "type": "string"\n }\n },\n "required": [\n "root_type",\n "node_count",\n "max_depth_observed",\n "properties"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for request."\n },\n "response": {\n "anyOf": [\n {\n "properties": {\n "max_depth_observed": {\n "description": "Maximum permitted depth observed for this operation.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "node_count": {\n "description": "Value for node count.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "properties": {\n "description": "Value for properties.",\n "items": {\n "properties": {\n "observations": {\n "description": "Value for observations.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "type": "string"\n },\n "types": {\n "description": "Value for types.",\n "items": {\n "enum": [\n "object",\n "array",\n "string",\n "number",\n "boolean",\n "null"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "path",\n "types",\n "observations"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "root_type": {\n "description": "Value for root type.",\n "enum": [\n "object",\n "array",\n "string",\n "number",\n "boolean",\n "null"\n ],\n "type": "string"\n }\n },\n "required": [\n "root_type",\n "node_count",\n "max_depth_observed",\n "properties"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for response."\n },\n "status": {\n "description": "Current lifecycle or verification status.",\n "enum": [\n "not_approved",\n "included",\n "partial",\n "unavailable"\n ],\n "type": "string"\n }\n },\n "required": [\n "status",\n "request",\n "response"\n ],\n "type": "object"\n },\n "encoded_data_length": {\n "anyOf": [\n {\n "minimum": 0,\n "type": "number"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for encoded data length."\n },\n "initiator": {\n "description": "Value for initiator.",\n "properties": {\n "column": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for column."\n },\n "line": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for line."\n },\n "type": {\n "description": "Value for type.",\n "type": "string"\n },\n "url": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for url."\n }\n },\n "required": [\n "type",\n "url",\n "line",\n "column"\n ],\n "type": "object"\n },\n "method": {\n "description": "Value for method.",\n "type": "string"\n },\n "mime_type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for mime type."\n },\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "request_id": {\n "description": "Value for request id.",\n "type": "string"\n },\n "resource_type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for resource type."\n },\n "status": {\n "anyOf": [\n {\n "type": "number"\n },\n {\n "type": "null"\n }\n ],\n "description": "Current lifecycle or verification status."\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "request_id",\n "url",\n "origin",\n "method",\n "resource_type",\n "status",\n "mime_type",\n "encoded_data_length",\n "initiator",\n "body_shapes"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "websocket_events": {\n "description": "Value for websocket events.",\n "items": {\n "properties": {\n "direction": {\n "description": "Direction in which to traverse or compare relationships.",\n "enum": [\n "sent",\n "received"\n ],\n "type": "string"\n },\n "opcode": {\n "description": "Value for opcode.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "payload_bytes": {\n "description": "Byte count for payload.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "payload_shape": {\n "anyOf": [\n {\n "properties": {\n "format": {\n "description": "Declared input artifact format.",\n "enum": [\n "json",\n "text",\n "binary"\n ],\n "type": "string"\n },\n "json_shape": {\n "anyOf": [\n {\n "properties": {\n "max_depth_observed": {\n "description": "Maximum permitted depth observed for this operation.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "node_count": {\n "description": "Value for node count.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "properties": {\n "description": "Value for properties.",\n "items": {\n "properties": {\n "observations": {\n "description": "Value for observations.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "type": "string"\n },\n "types": {\n "description": "Value for types.",\n "items": {\n "enum": [\n "object",\n "array",\n "string",\n "number",\n "boolean",\n "null"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "path",\n "types",\n "observations"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "root_type": {\n "description": "Value for root type.",\n "enum": [\n "object",\n "array",\n "string",\n "number",\n "boolean",\n "null"\n ],\n "type": "string"\n }\n },\n "required": [\n "root_type",\n "node_count",\n "max_depth_observed",\n "properties"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for json shape."\n }\n },\n "required": [\n "format",\n "json_shape"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for payload shape."\n },\n "request_id": {\n "description": "Value for request id.",\n "type": "string"\n }\n },\n "required": [\n "request_id",\n "direction",\n "opcode",\n "payload_bytes",\n "payload_shape"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "requests",\n "websocket_events",\n "coverage_started_at",\n "prior_activity_available"\n ],\n "type": "object"\n },\n "resources": {\n "description": "Value for resources.",\n "items": {\n "properties": {\n "content_size": {\n "anyOf": [\n {\n "minimum": 0,\n "type": "number"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for content size."\n },\n "mime_type": {\n "description": "Value for mime type.",\n "type": "string"\n },\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "resource_key": {\n "description": "Value for resource key.",\n "pattern": "^res_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": {\n "description": "Value for type.",\n "type": "string"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "resource_key",\n "url",\n "origin",\n "type",\n "mime_type",\n "content_size"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "scripts": {\n "description": "Value for scripts.",\n "properties": {\n "items": {\n "description": "Value for items.",\n "items": {\n "properties": {\n "cdp_hash": {\n "description": "Value for cdp hash.",\n "type": "string"\n },\n "frame_id": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "Value for frame id."\n },\n "is_module": {\n "description": "Whether is module.",\n "type": "boolean"\n },\n "language": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for language."\n },\n "length": {\n "description": "Value for length.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "resource_reconciliation": {\n "description": "Value for resource reconciliation.",\n "oneOf": [\n {\n "properties": {\n "resource_key": {\n "description": "Value for resource key.",\n "type": "string"\n },\n "status": {\n "const": "exact",\n "description": "Current lifecycle or verification status.",\n "type": "string"\n }\n },\n "required": [\n "status",\n "resource_key"\n ],\n "type": "object"\n },\n {\n "properties": {\n "candidate_resource_keys": {\n "description": "Value for candidate resource keys.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "status": {\n "const": "ambiguous",\n "description": "Current lifecycle or verification status.",\n "type": "string"\n }\n },\n "required": [\n "status",\n "candidate_resource_keys"\n ],\n "type": "object"\n },\n {\n "properties": {\n "reason": {\n "const": "no_exact_sanitized_url",\n "description": "Value for reason.",\n "type": "string"\n },\n "status": {\n "const": "unmatched",\n "description": "Current lifecycle or verification status.",\n "type": "string"\n }\n },\n "required": [\n "status",\n "reason"\n ],\n "type": "object"\n }\n ]\n },\n "script_key": {\n "description": "Value for script key.",\n "pattern": "^scr_[a-f0-9]{64}(?:_[0-9]+)?$",\n "type": "string"\n },\n "source": {\n "description": "Value for source.",\n "oneOf": [\n {\n "properties": {\n "included": {\n "const": false,\n "description": "Value for included.",\n "type": "boolean"\n },\n "reason": {\n "description": "Value for reason.",\n "type": "string"\n }\n },\n "required": [\n "included",\n "reason"\n ],\n "type": "object"\n },\n {\n "properties": {\n "artifact": {\n "description": "Value for artifact.",\n "properties": {\n "bytes": {\n "description": "Value for bytes.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "charset": {\n "const": "utf-8",\n "description": "Value for charset.",\n "type": "string"\n },\n "media_type": {\n "description": "Value for media type.",\n "minLength": 1,\n "type": "string"\n },\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "text": {\n "description": "Value for text.",\n "type": "string"\n }\n },\n "required": [\n "sha256",\n "bytes",\n "media_type",\n "charset",\n "text"\n ],\n "type": "object"\n },\n "included": {\n "const": true,\n "description": "Value for included.",\n "type": "boolean"\n }\n },\n "required": [\n "included",\n "artifact"\n ],\n "type": "object"\n }\n ]\n },\n "source_map_url": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for source map url."\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "script_key",\n "url",\n "origin",\n "cdp_hash",\n "length",\n "is_module",\n "language",\n "source_map_url",\n "resource_reconciliation",\n "source"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "total": {\n "description": "Value for total.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "total",\n "items"\n ],\n "type": "object"\n },\n "storage": {\n "description": "Value for storage.",\n "properties": {\n "cache_names": {\n "description": "Value for cache names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "content_fingerprints": {\n "default": [],\n "description": "Value for content fingerprints.",\n "items": {\n "properties": {\n "complete": {\n "description": "Value for complete.",\n "type": "boolean"\n },\n "identity_sha256": {\n "description": "Exact SHA-256 digest of identity.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "scope": {\n "description": "Value for scope.",\n "enum": [\n "cookie",\n "local_storage",\n "session_storage",\n "indexed_db_schema",\n "indexed_db_record",\n "cache_entry"\n ],\n "type": "string"\n },\n "value_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Exact SHA-256 digest of value."\n }\n },\n "required": [\n "scope",\n "identity_sha256",\n "value_sha256",\n "complete"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "fingerprint_algorithm": {\n "const": "sha256",\n "default": "sha256",\n "description": "Value for fingerprint algorithm.",\n "type": "string"\n },\n "fingerprints_complete": {\n "default": false,\n "description": "Value for fingerprints complete.",\n "type": "boolean"\n },\n "indexed_db_names": {\n "description": "Value for indexed db names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "local_storage_keys": {\n "description": "Value for local storage keys.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "origin": {\n "description": "Value for origin.",\n "type": "string"\n },\n "quota_bytes": {\n "anyOf": [\n {\n "minimum": 0,\n "type": "number"\n },\n {\n "type": "null"\n }\n ],\n "description": "Byte count for quota."\n },\n "session_storage_keys": {\n "description": "Value for session storage keys.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "usage_bytes": {\n "anyOf": [\n {\n "minimum": 0,\n "type": "number"\n },\n {\n "type": "null"\n }\n ],\n "description": "Byte count for usage."\n },\n "values_redacted": {\n "const": true,\n "description": "Value for values redacted.",\n "type": "boolean"\n }\n },\n "required": [\n "origin",\n "usage_bytes",\n "quota_bytes",\n "local_storage_keys",\n "session_storage_keys",\n "indexed_db_names",\n "cache_names",\n "values_redacted"\n ],\n "type": "object"\n },\n "target": {\n "description": "Value for target.",\n "properties": {\n "attached": {\n "description": "Value for attached.",\n "type": "boolean"\n },\n "origin": {\n "description": "Value for origin.",\n "type": "string"\n },\n "target_id": {\n "description": "Exact CDP target identifier selected from the endpoint\'s target listing.",\n "type": "string"\n },\n "title": {\n "description": "Value for title.",\n "type": "string"\n },\n "type": {\n "description": "Value for type.",\n "type": "string"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "target_id",\n "type",\n "title",\n "url",\n "origin",\n "attached"\n ],\n "type": "object"\n },\n "workers": {\n "description": "Value for workers.",\n "items": {\n "properties": {\n "attached": {\n "description": "Value for attached.",\n "type": "boolean"\n },\n "opener_target_id": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "Value for opener target id."\n },\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "parent_frame_id": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "Value for parent frame id."\n },\n "target_id": {\n "description": "Exact CDP target identifier selected from the endpoint\'s target listing.",\n "type": "string"\n },\n "type": {\n "description": "Value for type.",\n "type": "string"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "target_id",\n "type",\n "url",\n "origin",\n "attached"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "browser",\n "target",\n "capture_window",\n "completeness",\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "resources",\n "network",\n "console",\n "workers",\n "metadata",\n "storage",\n "limitations"\n ],\n "type": "object"\n },\n "webmcp": {\n "anyOf": [\n {\n "properties": {\n "browser": {\n "description": "Value for browser.",\n "properties": {\n "js_version": {\n "description": "Value for js version.",\n "type": "string"\n },\n "product": {\n "description": "Value for product.",\n "type": "string"\n },\n "protocol_version": {\n "description": "Value for protocol version.",\n "type": "string"\n },\n "revision": {\n "description": "Value for revision.",\n "type": "string"\n },\n "user_agent": {\n "description": "Value for user agent.",\n "type": "string"\n }\n },\n "required": [\n "product",\n "protocol_version",\n "revision",\n "user_agent",\n "js_version"\n ],\n "type": "object"\n },\n "completeness": {\n "description": "Value for completeness.",\n "properties": {\n "attach_limited_sections": {\n "description": "Value for attach limited sections.",\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "conditions": {\n "description": "Value for conditions.",\n "items": {\n "enum": [\n "complete_within_window",\n "policy_filtered",\n "attach_limited",\n "truncated"\n ],\n "type": "string"\n },\n "maxItems": 3,\n "minItems": 1,\n "type": "array"\n },\n "dropped_events": {\n "description": "Value for dropped events.",\n "properties": {\n "console_events": {\n "description": "Value for console events.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "network_requests": {\n "description": "Value for network requests.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "scripts": {\n "description": "Value for scripts.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "timeline_events": {\n "description": "Value for timeline events.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "total": {\n "description": "Value for total.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "webmcp_tools": {\n "description": "Value for webmcp tools.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "websocket_connections": {\n "description": "Value for websocket connections.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "websocket_frames": {\n "description": "Value for websocket frames.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "scripts",\n "network_requests",\n "console_events",\n "websocket_connections",\n "websocket_frames",\n "webmcp_tools",\n "timeline_events",\n "total"\n ],\n "type": "object"\n },\n "excluded": {\n "description": "Value for excluded.",\n "items": {\n "properties": {\n "count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for count."\n },\n "reason": {\n "description": "Value for reason.",\n "enum": [\n "disallowed_origin",\n "unsupported_url",\n "unattributed_origin",\n "not_approved",\n "out_of_target_scope",\n "provider_unavailable",\n "invalid_protocol_value"\n ],\n "type": "string"\n },\n "section": {\n "description": "Value for section.",\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n }\n },\n "required": [\n "section",\n "reason",\n "count"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "policy_filtered_sections": {\n "description": "Value for policy filtered sections.",\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "status": {\n "description": "Current lifecycle or verification status.",\n "enum": [\n "complete_within_window",\n "policy_filtered",\n "attach_limited",\n "truncated"\n ],\n "type": "string"\n },\n "truncated_sections": {\n "description": "Value for truncated sections.",\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "unavailable_sections": {\n "description": "Value for unavailable sections.",\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n }\n },\n "required": [\n "status",\n "conditions",\n "policy_filtered_sections",\n "attach_limited_sections",\n "truncated_sections",\n "unavailable_sections",\n "excluded",\n "dropped_events"\n ],\n "type": "object"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "status": {\n "description": "Current lifecycle or verification status.",\n "enum": [\n "available",\n "unavailable"\n ],\n "type": "string"\n },\n "target": {\n "description": "Value for target.",\n "properties": {\n "origin": {\n "description": "Value for origin.",\n "type": "string"\n },\n "target_id": {\n "description": "Exact CDP target identifier selected from the endpoint\'s target listing.",\n "type": "string"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "target_id",\n "url",\n "origin"\n ],\n "type": "object"\n },\n "tools": {\n "description": "Value for tools.",\n "properties": {\n "items": {\n "description": "Value for items.",\n "items": {\n "properties": {\n "annotations": {\n "description": "Value for annotations.",\n "properties": {\n "autosubmit": {\n "anyOf": [\n {\n "type": "boolean"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for autosubmit."\n },\n "read_only": {\n "anyOf": [\n {\n "type": "boolean"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for read only."\n },\n "untrusted_content": {\n "anyOf": [\n {\n "type": "boolean"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for untrusted content."\n }\n },\n "required": [\n "read_only",\n "untrusted_content",\n "autosubmit"\n ],\n "type": "object"\n },\n "declaration_kind": {\n "description": "Value for declaration kind.",\n "enum": [\n "declarative",\n "imperative"\n ],\n "type": "string"\n },\n "description": {\n "description": "Value for description.",\n "type": "string"\n },\n "frame_id": {\n "description": "Value for frame id.",\n "type": "string"\n },\n "frame_url": {\n "description": "Value for frame url.",\n "type": "string"\n },\n "input_schema_shape": {\n "anyOf": [\n {\n "properties": {\n "max_depth_observed": {\n "description": "Maximum permitted depth observed for this operation.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "node_count": {\n "description": "Value for node count.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "properties": {\n "description": "Value for properties.",\n "items": {\n "properties": {\n "observations": {\n "description": "Value for observations.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "type": "string"\n },\n "types": {\n "description": "Value for types.",\n "items": {\n "enum": [\n "object",\n "array",\n "string",\n "number",\n "boolean",\n "null"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "path",\n "types",\n "observations"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "root_type": {\n "description": "Value for root type.",\n "enum": [\n "object",\n "array",\n "string",\n "number",\n "boolean",\n "null"\n ],\n "type": "string"\n }\n },\n "required": [\n "root_type",\n "node_count",\n "max_depth_observed",\n "properties"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for input schema shape."\n },\n "name": {\n "description": "Exact name used by this operation.",\n "type": "string"\n },\n "owner_origin": {\n "description": "Value for owner origin.",\n "type": "string"\n },\n "registration_source": {\n "anyOf": [\n {\n "properties": {\n "column": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for column."\n },\n "line": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for line."\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "url",\n "line",\n "column"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for registration source."\n },\n "tool_key": {\n "description": "Value for tool key.",\n "pattern": "^webmcp_[a-f0-9]{64}$",\n "type": "string"\n },\n "trust": {\n "const": "page-declared-untrusted",\n "description": "Value for trust.",\n "type": "string"\n }\n },\n "required": [\n "tool_key",\n "name",\n "description",\n "frame_id",\n "frame_url",\n "owner_origin",\n "declaration_kind",\n "input_schema_shape",\n "annotations",\n "registration_source",\n "trust"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "total": {\n "description": "Value for total.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "total",\n "items"\n ],\n "type": "object"\n }\n },\n "required": [\n "browser",\n "target",\n "status",\n "tools",\n "completeness",\n "limitations"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "Value for webmcp."\n }\n },\n "required": [\n "inspection"\n ],\n "type": "object"\n },\n "after_scenario": {\n "additionalProperties": false,\n "description": "Later browser scenario capture.",\n "properties": {\n "browser": {\n "additionalProperties": false,\n "description": "Value for browser.",\n "properties": {\n "cleanup": {\n "description": "Value for cleanup.",\n "enum": [\n "terminated-owned-process",\n "disconnected-external"\n ],\n "type": "string"\n },\n "mode": {\n "description": "Operation mode that selects the requested behavior.",\n "enum": [\n "launch",\n "connect"\n ],\n "type": "string"\n },\n "process_ownership": {\n "description": "Value for process ownership.",\n "enum": [\n "provider-owned",\n "external"\n ],\n "type": "string"\n },\n "product": {\n "description": "Value for product.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "description": "Value for version.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "mode",\n "process_ownership",\n "cleanup",\n "product",\n "version"\n ],\n "type": "object"\n },\n "completeness": {\n "description": "Value for completeness.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "equality_eligible": {\n "const": true,\n "description": "Value for equality eligible.",\n "type": "boolean"\n },\n "missing_sections": {\n "description": "Value for missing sections.",\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "status": {\n "const": "complete",\n "description": "Current lifecycle or verification status.",\n "type": "string"\n },\n "truncated_sections": {\n "description": "Value for truncated sections.",\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n }\n },\n "required": [\n "status",\n "equality_eligible",\n "missing_sections",\n "truncated_sections"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "equality_eligible": {\n "const": false,\n "description": "Value for equality eligible.",\n "type": "boolean"\n },\n "missing_sections": {\n "description": "Value for missing sections.",\n "items": {\n "enum": [\n "action",\n "screenshot",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage",\n "events",\n "frames",\n "workers",\n "popups",\n "websockets"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "status": {\n "const": "incomplete",\n "description": "Current lifecycle or verification status.",\n "type": "string"\n },\n "truncated_sections": {\n "description": "Value for truncated sections.",\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n }\n },\n "required": [\n "status",\n "equality_eligible",\n "missing_sections",\n "truncated_sections"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "equality_eligible": {\n "const": false,\n "description": "Value for equality eligible.",\n "type": "boolean"\n },\n "missing_sections": {\n "description": "Value for missing sections.",\n "items": {\n "enum": [\n "action",\n "screenshot",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage",\n "events",\n "frames",\n "workers",\n "popups",\n "websockets"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "status": {\n "const": "truncated",\n "description": "Current lifecycle or verification status.",\n "type": "string"\n },\n "truncated_sections": {\n "description": "Value for truncated sections.",\n "items": {\n "enum": [\n "action",\n "screenshot",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage",\n "events",\n "frames",\n "workers",\n "popups",\n "websockets"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "status",\n "equality_eligible",\n "missing_sections",\n "truncated_sections"\n ],\n "type": "object"\n }\n ]\n },\n "duration_ms": {\n "description": "Value for duration ms.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "events": {\n "additionalProperties": false,\n "description": "Value for events.",\n "properties": {\n "dropped": {\n "description": "Value for dropped.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "items": {\n "description": "Value for items.",\n "items": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "console",\n "description": "Value for kind.",\n "type": "string"\n },\n "level": {\n "description": "Value for level.",\n "minLength": 1,\n "type": "string"\n },\n "sequence": {\n "description": "Value for sequence.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "step_index": {\n "description": "Value for step index.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "text": {\n "description": "Value for text.",\n "type": "string"\n },\n "url": {\n "anyOf": [\n {\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "query_parameter_names": {\n "description": "Value for query parameter names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "description": "Value for redacted.",\n "type": "boolean"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for url."\n }\n },\n "required": [\n "sequence",\n "step_index",\n "kind",\n "level",\n "text",\n "url"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "page-error",\n "description": "Value for kind.",\n "type": "string"\n },\n "message": {\n "description": "Value for message.",\n "type": "string"\n },\n "sequence": {\n "description": "Value for sequence.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "stack": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for stack."\n },\n "step_index": {\n "description": "Value for step index.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "sequence",\n "step_index",\n "kind",\n "message",\n "stack"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "failure": {\n "description": "Value for failure.",\n "type": "null"\n },\n "header_names": {\n "description": "Value for header names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "kind": {\n "const": "request",\n "description": "Value for kind.",\n "type": "string"\n },\n "method": {\n "description": "Value for method.",\n "minLength": 1,\n "type": "string"\n },\n "redirected_from_transaction_id": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for redirected from transaction id."\n },\n "resource_type": {\n "description": "Value for resource type.",\n "minLength": 1,\n "type": "string"\n },\n "sequence": {\n "description": "Value for sequence.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "status": {\n "description": "Current lifecycle or verification status.",\n "type": "null"\n },\n "step_index": {\n "description": "Value for step index.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "transaction_id": {\n "description": "Value for transaction id.",\n "minLength": 1,\n "type": "string"\n },\n "url": {\n "description": "Value for url.",\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "query_parameter_names": {\n "description": "Value for query parameter names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "description": "Value for redacted.",\n "type": "boolean"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n }\n },\n "required": [\n "sequence",\n "step_index",\n "method",\n "url",\n "resource_type",\n "header_names",\n "kind",\n "status",\n "failure"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "failure": {\n "description": "Value for failure.",\n "type": "null"\n },\n "header_names": {\n "description": "Value for header names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "kind": {\n "const": "response",\n "description": "Value for kind.",\n "type": "string"\n },\n "method": {\n "description": "Value for method.",\n "minLength": 1,\n "type": "string"\n },\n "redirected_from_transaction_id": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for redirected from transaction id."\n },\n "resource_type": {\n "description": "Value for resource type.",\n "minLength": 1,\n "type": "string"\n },\n "sequence": {\n "description": "Value for sequence.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "status": {\n "description": "Current lifecycle or verification status.",\n "maximum": 599,\n "minimum": 100,\n "type": "integer"\n },\n "step_index": {\n "description": "Value for step index.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "transaction_id": {\n "description": "Value for transaction id.",\n "minLength": 1,\n "type": "string"\n },\n "url": {\n "description": "Value for url.",\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "query_parameter_names": {\n "description": "Value for query parameter names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "description": "Value for redacted.",\n "type": "boolean"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n }\n },\n "required": [\n "sequence",\n "step_index",\n "method",\n "url",\n "resource_type",\n "header_names",\n "kind",\n "status",\n "failure"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "failure": {\n "description": "Value for failure.",\n "minLength": 1,\n "type": "string"\n },\n "header_names": {\n "description": "Value for header names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "kind": {\n "const": "request-failed",\n "description": "Value for kind.",\n "type": "string"\n },\n "method": {\n "description": "Value for method.",\n "minLength": 1,\n "type": "string"\n },\n "redirected_from_transaction_id": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for redirected from transaction id."\n },\n "resource_type": {\n "description": "Value for resource type.",\n "minLength": 1,\n "type": "string"\n },\n "sequence": {\n "description": "Value for sequence.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "status": {\n "description": "Current lifecycle or verification status.",\n "type": "null"\n },\n "step_index": {\n "description": "Value for step index.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "transaction_id": {\n "description": "Value for transaction id.",\n "minLength": 1,\n "type": "string"\n },\n "url": {\n "description": "Value for url.",\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "query_parameter_names": {\n "description": "Value for query parameter names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "description": "Value for redacted.",\n "type": "boolean"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n }\n },\n "required": [\n "sequence",\n "step_index",\n "method",\n "url",\n "resource_type",\n "header_names",\n "kind",\n "status",\n "failure"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "failure": {\n "description": "Value for failure.",\n "type": "null"\n },\n "header_names": {\n "description": "Value for header names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "kind": {\n "const": "request-finished",\n "description": "Value for kind.",\n "type": "string"\n },\n "method": {\n "description": "Value for method.",\n "minLength": 1,\n "type": "string"\n },\n "redirected_from_transaction_id": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for redirected from transaction id."\n },\n "resource_type": {\n "description": "Value for resource type.",\n "minLength": 1,\n "type": "string"\n },\n "sequence": {\n "description": "Value for sequence.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "status": {\n "description": "Current lifecycle or verification status.",\n "type": "null"\n },\n "step_index": {\n "description": "Value for step index.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "transaction_id": {\n "description": "Value for transaction id.",\n "minLength": 1,\n "type": "string"\n },\n "url": {\n "description": "Value for url.",\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "query_parameter_names": {\n "description": "Value for query parameter names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "description": "Value for redacted.",\n "type": "boolean"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n }\n },\n "required": [\n "sequence",\n "step_index",\n "method",\n "url",\n "resource_type",\n "header_names",\n "kind",\n "status",\n "failure"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "failure": {\n "description": "Value for failure.",\n "type": "null"\n },\n "header_names": {\n "description": "Value for header names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "kind": {\n "const": "request-unfinished",\n "description": "Value for kind.",\n "type": "string"\n },\n "method": {\n "description": "Value for method.",\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "description": "Value for reason.",\n "enum": [\n "capture-ended",\n "cancelled"\n ],\n "type": "string"\n },\n "redirected_from_transaction_id": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for redirected from transaction id."\n },\n "resource_type": {\n "description": "Value for resource type.",\n "minLength": 1,\n "type": "string"\n },\n "sequence": {\n "description": "Value for sequence.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "status": {\n "description": "Current lifecycle or verification status.",\n "type": "null"\n },\n "step_index": {\n "description": "Value for step index.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "transaction_id": {\n "description": "Value for transaction id.",\n "minLength": 1,\n "type": "string"\n },\n "url": {\n "description": "Value for url.",\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "query_parameter_names": {\n "description": "Value for query parameter names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "description": "Value for redacted.",\n "type": "boolean"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n }\n },\n "required": [\n "sequence",\n "step_index",\n "method",\n "url",\n "resource_type",\n "header_names",\n "kind",\n "status",\n "failure",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "body": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "not_requested",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "not_exposed",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "message": {\n "description": "Value for message.",\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "description": "Value for reason.",\n "enum": [\n "request-failed",\n "response-unfinished",\n "body-read-failed",\n "body-read-timeout",\n "cancelled",\n "capture-ended"\n ],\n "type": "string"\n },\n "state": {\n "const": "unavailable",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason",\n "message"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "bytes": {\n "description": "Value for bytes.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "content": {\n "description": "Value for content.",\n "type": "string"\n },\n "encoding": {\n "const": "base64",\n "description": "Value for encoding.",\n "type": "string"\n },\n "media_type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for media type."\n },\n "redacted": {\n "description": "Value for redacted.",\n "type": "boolean"\n },\n "representation": {\n "description": "Value for representation.",\n "enum": [\n "browser-exposed-request-bytes",\n "browser-decoded-response-bytes"\n ],\n "type": "string"\n },\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "state": {\n "const": "captured",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "representation",\n "encoding",\n "content",\n "bytes",\n "sha256",\n "media_type",\n "redacted"\n ],\n "type": "object"\n }\n ],\n "description": "Value for body."\n },\n "headers": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "not_requested",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "message": {\n "description": "Value for message.",\n "minLength": 1,\n "type": "string"\n },\n "state": {\n "const": "unavailable",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "message"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "items": {\n "description": "Value for items.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "redacted": {\n "description": "Value for redacted.",\n "type": "boolean"\n },\n "value": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for value."\n }\n },\n "required": [\n "name",\n "value",\n "redacted"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "state": {\n "const": "captured",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "items"\n ],\n "type": "object"\n }\n ],\n "description": "Value for headers."\n },\n "kind": {\n "const": "network-content",\n "description": "Value for kind.",\n "type": "string"\n },\n "phase": {\n "description": "Current plan or execution phase of the operation.",\n "enum": [\n "request",\n "response"\n ],\n "type": "string"\n },\n "sequence": {\n "description": "Value for sequence.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "source_event_sequence": {\n "description": "Value for source event sequence.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "step_index": {\n "description": "Value for step index.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "transaction_id": {\n "description": "Value for transaction id.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "sequence",\n "step_index",\n "kind",\n "transaction_id",\n "source_event_sequence",\n "phase",\n "headers",\n "body"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "description": "Value for kind.",\n "enum": [\n "websocket-opened",\n "websocket-closed"\n ],\n "type": "string"\n },\n "sequence": {\n "description": "Value for sequence.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "step_index": {\n "description": "Value for step index.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "url": {\n "description": "Value for url.",\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "query_parameter_names": {\n "description": "Value for query parameter names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "description": "Value for redacted.",\n "type": "boolean"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n }\n },\n "required": [\n "sequence",\n "step_index",\n "kind",\n "url"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "description": "Value for kind.",\n "enum": [\n "websocket-frame-sent",\n "websocket-frame-received"\n ],\n "type": "string"\n },\n "payload_bytes": {\n "description": "Byte count for payload.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "payload_text": {\n "description": "Value for payload text.",\n "type": "string"\n },\n "payload_type": {\n "const": "text",\n "description": "Value for payload type.",\n "type": "string"\n },\n "sequence": {\n "description": "Value for sequence.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "step_index": {\n "description": "Value for step index.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "truncated": {\n "description": "Value for truncated.",\n "type": "boolean"\n },\n "url": {\n "description": "Value for url.",\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "query_parameter_names": {\n "description": "Value for query parameter names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "description": "Value for redacted.",\n "type": "boolean"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n }\n },\n "required": [\n "sequence",\n "step_index",\n "kind",\n "url",\n "payload_bytes",\n "truncated",\n "payload_type",\n "payload_text"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "description": "Value for kind.",\n "enum": [\n "websocket-frame-sent",\n "websocket-frame-received"\n ],\n "type": "string"\n },\n "payload_bytes": {\n "description": "Byte count for payload.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "payload_text": {\n "description": "Value for payload text.",\n "type": "null"\n },\n "payload_type": {\n "const": "binary",\n "description": "Value for payload type.",\n "type": "string"\n },\n "sequence": {\n "description": "Value for sequence.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "step_index": {\n "description": "Value for step index.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "truncated": {\n "description": "Value for truncated.",\n "type": "boolean"\n },\n "url": {\n "description": "Value for url.",\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "query_parameter_names": {\n "description": "Value for query parameter names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "description": "Value for redacted.",\n "type": "boolean"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n }\n },\n "required": [\n "sequence",\n "step_index",\n "kind",\n "url",\n "payload_bytes",\n "truncated",\n "payload_type",\n "payload_text"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "description": "Value for kind.",\n "enum": [\n "frame-attached",\n "frame-detached",\n "frame-navigated",\n "worker-created",\n "worker-closed",\n "popup-opened",\n "popup-closed"\n ],\n "type": "string"\n },\n "name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Exact name used by this operation."\n },\n "sequence": {\n "description": "Value for sequence.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "step_index": {\n "description": "Value for step index.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "url": {\n "anyOf": [\n {\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "query_parameter_names": {\n "description": "Value for query parameter names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "description": "Value for redacted.",\n "type": "boolean"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for url."\n }\n },\n "required": [\n "sequence",\n "step_index",\n "kind",\n "url",\n "name"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "download-cancelled",\n "description": "Value for kind.",\n "type": "string"\n },\n "sequence": {\n "description": "Value for sequence.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "step_index": {\n "description": "Value for step index.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "suggested_filename": {\n "description": "Value for suggested filename.",\n "type": "string"\n },\n "url": {\n "description": "Value for url.",\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "query_parameter_names": {\n "description": "Value for query parameter names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "description": "Value for redacted.",\n "type": "boolean"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n }\n },\n "required": [\n "sequence",\n "step_index",\n "kind",\n "suggested_filename",\n "url"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "retained": {\n "description": "Value for retained.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "retained",\n "dropped",\n "items"\n ],\n "type": "object"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "scenario": {\n "additionalProperties": false,\n "description": "Value for scenario.",\n "properties": {\n "action_count": {\n "description": "Value for action count.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "network_content": {\n "additionalProperties": false,\n "description": "Value for network content.",\n "properties": {\n "header_values": {\n "default": false,\n "description": "Value for header values.",\n "type": "boolean"\n },\n "request_body": {\n "default": false,\n "description": "Value for request body.",\n "type": "boolean"\n },\n "response_body": {\n "default": false,\n "description": "Value for response body.",\n "type": "boolean"\n }\n },\n "type": "object"\n },\n "secret_references": {\n "description": "Value for secret references.",\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "start_origin": {\n "description": "Value for start origin.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "start_origin",\n "action_count",\n "secret_references"\n ],\n "type": "object"\n },\n "steps": {\n "description": "Value for steps.",\n "items": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "action": {\n "description": "Value for action.",\n "minLength": 1,\n "type": "string"\n },\n "after_url": {\n "description": "Value for after url.",\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "query_parameter_names": {\n "description": "Value for query parameter names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "description": "Value for redacted.",\n "type": "boolean"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n },\n "artifacts": {\n "additionalProperties": false,\n "description": "Value for artifacts.",\n "properties": {\n "accessibility": {\n "description": "Value for accessibility.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "captured",\n "description": "Value for state.",\n "type": "string"\n },\n "value": {\n "additionalProperties": false,\n "description": "Value for value.",\n "properties": {\n "bytes": {\n "description": "Value for bytes.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "text": {\n "description": "Value for text.",\n "type": "string"\n }\n },\n "required": [\n "sha256",\n "bytes",\n "text"\n ],\n "type": "object"\n }\n },\n "required": [\n "state",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "not_requested",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "state": {\n "const": "missing",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "observed": {\n "description": "Value for observed.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "retained": {\n "description": "Value for retained.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "state": {\n "const": "truncated",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "observed",\n "retained",\n "reason"\n ],\n "type": "object"\n }\n ]\n },\n "dom": {\n "description": "Value for dom.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "captured",\n "description": "Value for state.",\n "type": "string"\n },\n "value": {\n "additionalProperties": false,\n "description": "Value for value.",\n "properties": {\n "bytes": {\n "description": "Value for bytes.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "text": {\n "description": "Value for text.",\n "type": "string"\n }\n },\n "required": [\n "sha256",\n "bytes",\n "text"\n ],\n "type": "object"\n }\n },\n "required": [\n "state",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "not_requested",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "state": {\n "const": "missing",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "observed": {\n "description": "Value for observed.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "retained": {\n "description": "Value for retained.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "state": {\n "const": "truncated",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "observed",\n "retained",\n "reason"\n ],\n "type": "object"\n }\n ]\n },\n "history": {\n "description": "Value for history.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "captured",\n "description": "Value for state.",\n "type": "string"\n },\n "value": {\n "additionalProperties": false,\n "description": "Value for value.",\n "properties": {\n "current_url": {\n "description": "Value for current url.",\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "query_parameter_names": {\n "description": "Value for query parameter names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "description": "Value for redacted.",\n "type": "boolean"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n },\n "length": {\n "description": "Value for length.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "navigation_entries": {\n "description": "Value for navigation entries.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "description": "Exact name used by this operation.",\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "query_parameter_names": {\n "description": "Value for query parameter names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "description": "Value for redacted.",\n "type": "boolean"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n },\n "type": {\n "description": "Value for type.",\n "enum": [\n "navigate",\n "reload",\n "back_forward",\n "prerender",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "type",\n "name"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "length",\n "current_url",\n "navigation_entries"\n ],\n "type": "object"\n }\n },\n "required": [\n "state",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "not_requested",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "state": {\n "const": "missing",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "observed": {\n "description": "Value for observed.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "retained": {\n "description": "Value for retained.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "state": {\n "const": "truncated",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "observed",\n "retained",\n "reason"\n ],\n "type": "object"\n }\n ]\n },\n "screenshot": {\n "description": "Value for screenshot.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "captured",\n "description": "Value for state.",\n "type": "string"\n },\n "value": {\n "description": "Value for value.",\n "properties": {\n "bytes": {\n "description": "Value for bytes.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "data_base64": {\n "description": "Value for data base64.",\n "type": "string"\n },\n "media_type": {\n "const": "image/png",\n "description": "Value for media type.",\n "type": "string"\n },\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256",\n "bytes",\n "media_type",\n "data_base64"\n ],\n "type": "object"\n }\n },\n "required": [\n "state",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "not_requested",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "state": {\n "const": "missing",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "observed": {\n "description": "Value for observed.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "retained": {\n "description": "Value for retained.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "state": {\n "const": "truncated",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "observed",\n "retained",\n "reason"\n ],\n "type": "object"\n }\n ]\n },\n "storage": {\n "description": "Value for storage.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "captured",\n "description": "Value for state.",\n "type": "string"\n },\n "value": {\n "additionalProperties": false,\n "description": "Value for value.",\n "properties": {\n "cookies": {\n "description": "Value for cookies.",\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "domain": {\n "description": "Value for domain.",\n "type": "string"\n },\n "http_only": {\n "description": "Value for http only.",\n "type": "boolean"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "type": "string"\n },\n "same_site": {\n "description": "Value for same site.",\n "enum": [\n "Strict",\n "Lax",\n "None"\n ],\n "type": "string"\n },\n "secure": {\n "description": "Value for secure.",\n "type": "boolean"\n },\n "value_sha256": {\n "description": "Exact SHA-256 digest of value.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "value_state": {\n "const": "hashed",\n "description": "Value for value state.",\n "type": "string"\n }\n },\n "required": [\n "name",\n "domain",\n "path",\n "secure",\n "http_only",\n "same_site",\n "value_state",\n "value_sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "domain": {\n "description": "Value for domain.",\n "type": "string"\n },\n "http_only": {\n "description": "Value for http only.",\n "type": "boolean"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "type": "string"\n },\n "same_site": {\n "description": "Value for same site.",\n "enum": [\n "Strict",\n "Lax",\n "None"\n ],\n "type": "string"\n },\n "secure": {\n "description": "Value for secure.",\n "type": "boolean"\n },\n "value_sha256": {\n "description": "Exact SHA-256 digest of value.",\n "type": "null"\n },\n "value_state": {\n "const": "redacted-secret",\n "description": "Value for value state.",\n "type": "string"\n }\n },\n "required": [\n "name",\n "domain",\n "path",\n "secure",\n "http_only",\n "same_site",\n "value_state",\n "value_sha256"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "local_storage": {\n "description": "Value for local storage.",\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "name": {\n "description": "Exact name used by this operation.",\n "type": "string"\n },\n "value_sha256": {\n "description": "Exact SHA-256 digest of value.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "value_state": {\n "const": "hashed",\n "description": "Value for value state.",\n "type": "string"\n }\n },\n "required": [\n "name",\n "value_state",\n "value_sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "name": {\n "description": "Exact name used by this operation.",\n "type": "string"\n },\n "value_sha256": {\n "description": "Exact SHA-256 digest of value.",\n "type": "null"\n },\n "value_state": {\n "const": "redacted-secret",\n "description": "Value for value state.",\n "type": "string"\n }\n },\n "required": [\n "name",\n "value_state",\n "value_sha256"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "session_storage": {\n "description": "Value for session storage.",\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "name": {\n "description": "Exact name used by this operation.",\n "type": "string"\n },\n "value_sha256": {\n "description": "Exact SHA-256 digest of value.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "value_state": {\n "const": "hashed",\n "description": "Value for value state.",\n "type": "string"\n }\n },\n "required": [\n "name",\n "value_state",\n "value_sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "name": {\n "description": "Exact name used by this operation.",\n "type": "string"\n },\n "value_sha256": {\n "description": "Exact SHA-256 digest of value.",\n "type": "null"\n },\n "value_state": {\n "const": "redacted-secret",\n "description": "Value for value state.",\n "type": "string"\n }\n },\n "required": [\n "name",\n "value_state",\n "value_sha256"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n }\n },\n "required": [\n "cookies",\n "local_storage",\n "session_storage"\n ],\n "type": "object"\n }\n },\n "required": [\n "state",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "not_requested",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "state": {\n "const": "missing",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "observed": {\n "description": "Value for observed.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "retained": {\n "description": "Value for retained.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "state": {\n "const": "truncated",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "observed",\n "retained",\n "reason"\n ],\n "type": "object"\n }\n ]\n },\n "url": {\n "description": "Value for url.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "captured",\n "description": "Value for state.",\n "type": "string"\n },\n "value": {\n "description": "Value for value.",\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "query_parameter_names": {\n "description": "Value for query parameter names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "description": "Value for redacted.",\n "type": "boolean"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n }\n },\n "required": [\n "state",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "not_requested",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "state": {\n "const": "missing",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "observed": {\n "description": "Value for observed.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "retained": {\n "description": "Value for retained.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "state": {\n "const": "truncated",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "observed",\n "retained",\n "reason"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "screenshot",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage"\n ],\n "type": "object"\n },\n "before_url": {\n "description": "Value for before url.",\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "query_parameter_names": {\n "description": "Value for query parameter names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "description": "Value for redacted.",\n "type": "boolean"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n },\n "completeness": {\n "description": "Value for completeness.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "equality_eligible": {\n "const": true,\n "description": "Value for equality eligible.",\n "type": "boolean"\n },\n "missing_sections": {\n "description": "Value for missing sections.",\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "status": {\n "const": "complete",\n "description": "Current lifecycle or verification status.",\n "type": "string"\n },\n "truncated_sections": {\n "description": "Value for truncated sections.",\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n }\n },\n "required": [\n "status",\n "equality_eligible",\n "missing_sections",\n "truncated_sections"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "equality_eligible": {\n "const": false,\n "description": "Value for equality eligible.",\n "type": "boolean"\n },\n "missing_sections": {\n "description": "Value for missing sections.",\n "items": {\n "enum": [\n "action",\n "screenshot",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage",\n "events",\n "frames",\n "workers",\n "popups",\n "websockets"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "status": {\n "const": "incomplete",\n "description": "Current lifecycle or verification status.",\n "type": "string"\n },\n "truncated_sections": {\n "description": "Value for truncated sections.",\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n }\n },\n "required": [\n "status",\n "equality_eligible",\n "missing_sections",\n "truncated_sections"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "equality_eligible": {\n "const": false,\n "description": "Value for equality eligible.",\n "type": "boolean"\n },\n "missing_sections": {\n "description": "Value for missing sections.",\n "items": {\n "enum": [\n "action",\n "screenshot",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage",\n "events",\n "frames",\n "workers",\n "popups",\n "websockets"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "status": {\n "const": "truncated",\n "description": "Current lifecycle or verification status.",\n "type": "string"\n },\n "truncated_sections": {\n "description": "Value for truncated sections.",\n "items": {\n "enum": [\n "action",\n "screenshot",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage",\n "events",\n "frames",\n "workers",\n "popups",\n "websockets"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "status",\n "equality_eligible",\n "missing_sections",\n "truncated_sections"\n ],\n "type": "object"\n }\n ]\n },\n "elapsed_ms": {\n "description": "Value for elapsed ms.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "error": {\n "description": "Structured, caller-actionable error when the operation fails.",\n "type": "null"\n },\n "event_sequence_end": {\n "description": "Value for event sequence end.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "event_sequence_start": {\n "description": "Value for event sequence start.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "status": {\n "const": "completed",\n "description": "Current lifecycle or verification status.",\n "type": "string"\n },\n "step_id": {\n "description": "Value for step id.",\n "minLength": 1,\n "type": "string"\n },\n "step_index": {\n "description": "Value for step index.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "step_index",\n "step_id",\n "action",\n "elapsed_ms",\n "before_url",\n "after_url",\n "event_sequence_start",\n "event_sequence_end",\n "artifacts",\n "completeness",\n "status",\n "error"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "action": {\n "description": "Value for action.",\n "minLength": 1,\n "type": "string"\n },\n "after_url": {\n "description": "Value for after url.",\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "query_parameter_names": {\n "description": "Value for query parameter names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "description": "Value for redacted.",\n "type": "boolean"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n },\n "artifacts": {\n "additionalProperties": false,\n "description": "Value for artifacts.",\n "properties": {\n "accessibility": {\n "description": "Value for accessibility.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "captured",\n "description": "Value for state.",\n "type": "string"\n },\n "value": {\n "additionalProperties": false,\n "description": "Value for value.",\n "properties": {\n "bytes": {\n "description": "Value for bytes.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "text": {\n "description": "Value for text.",\n "type": "string"\n }\n },\n "required": [\n "sha256",\n "bytes",\n "text"\n ],\n "type": "object"\n }\n },\n "required": [\n "state",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "not_requested",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "state": {\n "const": "missing",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "observed": {\n "description": "Value for observed.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "retained": {\n "description": "Value for retained.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "state": {\n "const": "truncated",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "observed",\n "retained",\n "reason"\n ],\n "type": "object"\n }\n ]\n },\n "dom": {\n "description": "Value for dom.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "captured",\n "description": "Value for state.",\n "type": "string"\n },\n "value": {\n "additionalProperties": false,\n "description": "Value for value.",\n "properties": {\n "bytes": {\n "description": "Value for bytes.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "text": {\n "description": "Value for text.",\n "type": "string"\n }\n },\n "required": [\n "sha256",\n "bytes",\n "text"\n ],\n "type": "object"\n }\n },\n "required": [\n "state",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "not_requested",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "state": {\n "const": "missing",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "observed": {\n "description": "Value for observed.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "retained": {\n "description": "Value for retained.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "state": {\n "const": "truncated",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "observed",\n "retained",\n "reason"\n ],\n "type": "object"\n }\n ]\n },\n "history": {\n "description": "Value for history.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "captured",\n "description": "Value for state.",\n "type": "string"\n },\n "value": {\n "additionalProperties": false,\n "description": "Value for value.",\n "properties": {\n "current_url": {\n "description": "Value for current url.",\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "query_parameter_names": {\n "description": "Value for query parameter names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "description": "Value for redacted.",\n "type": "boolean"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n },\n "length": {\n "description": "Value for length.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "navigation_entries": {\n "description": "Value for navigation entries.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "description": "Exact name used by this operation.",\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "query_parameter_names": {\n "description": "Value for query parameter names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "description": "Value for redacted.",\n "type": "boolean"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n },\n "type": {\n "description": "Value for type.",\n "enum": [\n "navigate",\n "reload",\n "back_forward",\n "prerender",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "type",\n "name"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "length",\n "current_url",\n "navigation_entries"\n ],\n "type": "object"\n }\n },\n "required": [\n "state",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "not_requested",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "state": {\n "const": "missing",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "observed": {\n "description": "Value for observed.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "retained": {\n "description": "Value for retained.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "state": {\n "const": "truncated",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "observed",\n "retained",\n "reason"\n ],\n "type": "object"\n }\n ]\n },\n "screenshot": {\n "description": "Value for screenshot.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "captured",\n "description": "Value for state.",\n "type": "string"\n },\n "value": {\n "description": "Value for value.",\n "properties": {\n "bytes": {\n "description": "Value for bytes.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "data_base64": {\n "description": "Value for data base64.",\n "type": "string"\n },\n "media_type": {\n "const": "image/png",\n "description": "Value for media type.",\n "type": "string"\n },\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256",\n "bytes",\n "media_type",\n "data_base64"\n ],\n "type": "object"\n }\n },\n "required": [\n "state",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "not_requested",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "state": {\n "const": "missing",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "observed": {\n "description": "Value for observed.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "retained": {\n "description": "Value for retained.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "state": {\n "const": "truncated",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "observed",\n "retained",\n "reason"\n ],\n "type": "object"\n }\n ]\n },\n "storage": {\n "description": "Value for storage.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "captured",\n "description": "Value for state.",\n "type": "string"\n },\n "value": {\n "additionalProperties": false,\n "description": "Value for value.",\n "properties": {\n "cookies": {\n "description": "Value for cookies.",\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "domain": {\n "description": "Value for domain.",\n "type": "string"\n },\n "http_only": {\n "description": "Value for http only.",\n "type": "boolean"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "type": "string"\n },\n "same_site": {\n "description": "Value for same site.",\n "enum": [\n "Strict",\n "Lax",\n "None"\n ],\n "type": "string"\n },\n "secure": {\n "description": "Value for secure.",\n "type": "boolean"\n },\n "value_sha256": {\n "description": "Exact SHA-256 digest of value.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "value_state": {\n "const": "hashed",\n "description": "Value for value state.",\n "type": "string"\n }\n },\n "required": [\n "name",\n "domain",\n "path",\n "secure",\n "http_only",\n "same_site",\n "value_state",\n "value_sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "domain": {\n "description": "Value for domain.",\n "type": "string"\n },\n "http_only": {\n "description": "Value for http only.",\n "type": "boolean"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "type": "string"\n },\n "same_site": {\n "description": "Value for same site.",\n "enum": [\n "Strict",\n "Lax",\n "None"\n ],\n "type": "string"\n },\n "secure": {\n "description": "Value for secure.",\n "type": "boolean"\n },\n "value_sha256": {\n "description": "Exact SHA-256 digest of value.",\n "type": "null"\n },\n "value_state": {\n "const": "redacted-secret",\n "description": "Value for value state.",\n "type": "string"\n }\n },\n "required": [\n "name",\n "domain",\n "path",\n "secure",\n "http_only",\n "same_site",\n "value_state",\n "value_sha256"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "local_storage": {\n "description": "Value for local storage.",\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "name": {\n "description": "Exact name used by this operation.",\n "type": "string"\n },\n "value_sha256": {\n "description": "Exact SHA-256 digest of value.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "value_state": {\n "const": "hashed",\n "description": "Value for value state.",\n "type": "string"\n }\n },\n "required": [\n "name",\n "value_state",\n "value_sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "name": {\n "description": "Exact name used by this operation.",\n "type": "string"\n },\n "value_sha256": {\n "description": "Exact SHA-256 digest of value.",\n "type": "null"\n },\n "value_state": {\n "const": "redacted-secret",\n "description": "Value for value state.",\n "type": "string"\n }\n },\n "required": [\n "name",\n "value_state",\n "value_sha256"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "session_storage": {\n "description": "Value for session storage.",\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "name": {\n "description": "Exact name used by this operation.",\n "type": "string"\n },\n "value_sha256": {\n "description": "Exact SHA-256 digest of value.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "value_state": {\n "const": "hashed",\n "description": "Value for value state.",\n "type": "string"\n }\n },\n "required": [\n "name",\n "value_state",\n "value_sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "name": {\n "description": "Exact name used by this operation.",\n "type": "string"\n },\n "value_sha256": {\n "description": "Exact SHA-256 digest of value.",\n "type": "null"\n },\n "value_state": {\n "const": "redacted-secret",\n "description": "Value for value state.",\n "type": "string"\n }\n },\n "required": [\n "name",\n "value_state",\n "value_sha256"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n }\n },\n "required": [\n "cookies",\n "local_storage",\n "session_storage"\n ],\n "type": "object"\n }\n },\n "required": [\n "state",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "not_requested",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "state": {\n "const": "missing",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "observed": {\n "description": "Value for observed.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "retained": {\n "description": "Value for retained.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "state": {\n "const": "truncated",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "observed",\n "retained",\n "reason"\n ],\n "type": "object"\n }\n ]\n },\n "url": {\n "description": "Value for url.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "captured",\n "description": "Value for state.",\n "type": "string"\n },\n "value": {\n "description": "Value for value.",\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "query_parameter_names": {\n "description": "Value for query parameter names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "description": "Value for redacted.",\n "type": "boolean"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n }\n },\n "required": [\n "state",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "not_requested",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "state": {\n "const": "missing",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "observed": {\n "description": "Value for observed.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "retained": {\n "description": "Value for retained.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "state": {\n "const": "truncated",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "observed",\n "retained",\n "reason"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "screenshot",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage"\n ],\n "type": "object"\n },\n "before_url": {\n "description": "Value for before url.",\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "query_parameter_names": {\n "description": "Value for query parameter names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "description": "Value for redacted.",\n "type": "boolean"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n },\n "completeness": {\n "description": "Value for completeness.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "equality_eligible": {\n "const": true,\n "description": "Value for equality eligible.",\n "type": "boolean"\n },\n "missing_sections": {\n "description": "Value for missing sections.",\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "status": {\n "const": "complete",\n "description": "Current lifecycle or verification status.",\n "type": "string"\n },\n "truncated_sections": {\n "description": "Value for truncated sections.",\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n }\n },\n "required": [\n "status",\n "equality_eligible",\n "missing_sections",\n "truncated_sections"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "equality_eligible": {\n "const": false,\n "description": "Value for equality eligible.",\n "type": "boolean"\n },\n "missing_sections": {\n "description": "Value for missing sections.",\n "items": {\n "enum": [\n "action",\n "screenshot",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage",\n "events",\n "frames",\n "workers",\n "popups",\n "websockets"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "status": {\n "const": "incomplete",\n "description": "Current lifecycle or verification status.",\n "type": "string"\n },\n "truncated_sections": {\n "description": "Value for truncated sections.",\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n }\n },\n "required": [\n "status",\n "equality_eligible",\n "missing_sections",\n "truncated_sections"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "equality_eligible": {\n "const": false,\n "description": "Value for equality eligible.",\n "type": "boolean"\n },\n "missing_sections": {\n "description": "Value for missing sections.",\n "items": {\n "enum": [\n "action",\n "screenshot",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage",\n "events",\n "frames",\n "workers",\n "popups",\n "websockets"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "status": {\n "const": "truncated",\n "description": "Current lifecycle or verification status.",\n "type": "string"\n },\n "truncated_sections": {\n "description": "Value for truncated sections.",\n "items": {\n "enum": [\n "action",\n "screenshot",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage",\n "events",\n "frames",\n "workers",\n "popups",\n "websockets"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "status",\n "equality_eligible",\n "missing_sections",\n "truncated_sections"\n ],\n "type": "object"\n }\n ]\n },\n "elapsed_ms": {\n "description": "Value for elapsed ms.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "error": {\n "description": "Structured, caller-actionable error when the operation fails.",\n "type": "string"\n },\n "event_sequence_end": {\n "description": "Value for event sequence end.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "event_sequence_start": {\n "description": "Value for event sequence start.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "status": {\n "description": "Current lifecycle or verification status.",\n "enum": [\n "failed",\n "cancelled"\n ],\n "type": "string"\n },\n "step_id": {\n "description": "Value for step id.",\n "minLength": 1,\n "type": "string"\n },\n "step_index": {\n "description": "Value for step index.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "step_index",\n "step_id",\n "action",\n "elapsed_ms",\n "before_url",\n "after_url",\n "event_sequence_start",\n "event_sequence_end",\n "artifacts",\n "completeness",\n "status",\n "error"\n ],\n "type": "object"\n }\n ]\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "browser",\n "scenario",\n "duration_ms",\n "steps",\n "events",\n "completeness",\n "limitations"\n ],\n "type": "object"\n },\n "before": {\n "description": "Earlier passive web-page capture.",\n "properties": {\n "inspection": {\n "description": "Value for inspection.",\n "properties": {\n "accessibility": {\n "description": "Value for accessibility.",\n "properties": {\n "nodes": {\n "description": "Value for nodes.",\n "items": {\n "properties": {\n "description": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for description."\n },\n "ignored": {\n "description": "Value for ignored.",\n "type": "boolean"\n },\n "name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Exact name used by this operation."\n },\n "node_id": {\n "description": "Value for node id.",\n "type": "string"\n },\n "parent_id": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for parent id."\n },\n "role": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for role."\n },\n "states": {\n "default": [],\n "description": "Value for states.",\n "items": {\n "properties": {\n "name": {\n "description": "Exact name used by this operation.",\n "type": "string"\n },\n "value": {\n "anyOf": [\n {\n "type": "boolean"\n },\n {\n "type": "number"\n },\n {\n "type": "string"\n }\n ],\n "description": "Value for value."\n }\n },\n "required": [\n "name",\n "value"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "node_id",\n "parent_id",\n "role",\n "name",\n "description",\n "ignored"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "text_capture": {\n "description": "Value for text capture.",\n "properties": {\n "excluded_fields": {\n "description": "Value for excluded fields.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "retained_bytes": {\n "description": "Byte count for retained.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "status": {\n "description": "Current lifecycle or verification status.",\n "enum": [\n "not_approved",\n "included",\n "unavailable"\n ],\n "type": "string"\n }\n },\n "required": [\n "status",\n "retained_bytes",\n "excluded_fields"\n ],\n "type": "object"\n },\n "total_nodes": {\n "description": "Value for total nodes.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "total_nodes",\n "text_capture",\n "nodes"\n ],\n "type": "object"\n },\n "browser": {\n "description": "Value for browser.",\n "properties": {\n "js_version": {\n "description": "Value for js version.",\n "type": "string"\n },\n "product": {\n "description": "Value for product.",\n "type": "string"\n },\n "protocol_version": {\n "description": "Value for protocol version.",\n "type": "string"\n },\n "revision": {\n "description": "Value for revision.",\n "type": "string"\n },\n "user_agent": {\n "description": "Value for user agent.",\n "type": "string"\n }\n },\n "required": [\n "product",\n "protocol_version",\n "revision",\n "user_agent",\n "js_version"\n ],\n "type": "object"\n },\n "capture_window": {\n "description": "Value for capture window.",\n "properties": {\n "ended_at": {\n "description": "Value for ended at.",\n "format": "date-time",\n "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))$",\n "type": "string"\n },\n "observation_ms": {\n "description": "Value for observation ms.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "started_at": {\n "description": "Value for started at.",\n "format": "date-time",\n "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))$",\n "type": "string"\n }\n },\n "required": [\n "started_at",\n "ended_at",\n "observation_ms"\n ],\n "type": "object"\n },\n "completeness": {\n "description": "Value for completeness.",\n "properties": {\n "attach_limited_sections": {\n "description": "Value for attach limited sections.",\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "conditions": {\n "description": "Value for conditions.",\n "items": {\n "enum": [\n "complete_within_window",\n "policy_filtered",\n "attach_limited",\n "truncated"\n ],\n "type": "string"\n },\n "maxItems": 3,\n "minItems": 1,\n "type": "array"\n },\n "dropped_events": {\n "description": "Value for dropped events.",\n "properties": {\n "console_events": {\n "description": "Value for console events.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "network_requests": {\n "description": "Value for network requests.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "scripts": {\n "description": "Value for scripts.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "timeline_events": {\n "description": "Value for timeline events.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "total": {\n "description": "Value for total.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "webmcp_tools": {\n "description": "Value for webmcp tools.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "websocket_connections": {\n "description": "Value for websocket connections.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "websocket_frames": {\n "description": "Value for websocket frames.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "scripts",\n "network_requests",\n "console_events",\n "websocket_connections",\n "websocket_frames",\n "webmcp_tools",\n "timeline_events",\n "total"\n ],\n "type": "object"\n },\n "excluded": {\n "description": "Value for excluded.",\n "items": {\n "properties": {\n "count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for count."\n },\n "reason": {\n "description": "Value for reason.",\n "enum": [\n "disallowed_origin",\n "unsupported_url",\n "unattributed_origin",\n "not_approved",\n "out_of_target_scope",\n "provider_unavailable",\n "invalid_protocol_value"\n ],\n "type": "string"\n },\n "section": {\n "description": "Value for section.",\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n }\n },\n "required": [\n "section",\n "reason",\n "count"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "policy_filtered_sections": {\n "description": "Value for policy filtered sections.",\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "status": {\n "description": "Current lifecycle or verification status.",\n "enum": [\n "complete_within_window",\n "policy_filtered",\n "attach_limited",\n "truncated"\n ],\n "type": "string"\n },\n "truncated_sections": {\n "description": "Value for truncated sections.",\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "unavailable_sections": {\n "description": "Value for unavailable sections.",\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n }\n },\n "required": [\n "status",\n "conditions",\n "policy_filtered_sections",\n "attach_limited_sections",\n "truncated_sections",\n "unavailable_sections",\n "excluded",\n "dropped_events"\n ],\n "type": "object"\n },\n "console": {\n "description": "Value for console.",\n "properties": {\n "coverage_started_at": {\n "description": "Value for coverage started at.",\n "format": "date-time",\n "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))$",\n "type": "string"\n },\n "events": {\n "description": "Value for events.",\n "items": {\n "properties": {\n "argument_types": {\n "description": "Value for argument types.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "column": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for column."\n },\n "line": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for line."\n },\n "text_capture": {\n "description": "Value for text capture.",\n "properties": {\n "retained_bytes": {\n "description": "Byte count for retained.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "status": {\n "description": "Current lifecycle or verification status.",\n "enum": [\n "not_approved",\n "included"\n ],\n "type": "string"\n },\n "values": {\n "description": "Value for values.",\n "items": {\n "properties": {\n "argument_index": {\n "description": "Value for argument index.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "text": {\n "description": "Value for text.",\n "type": "string"\n },\n "type": {\n "description": "Value for type.",\n "type": "string"\n }\n },\n "required": [\n "argument_index",\n "type",\n "text"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "status",\n "values",\n "retained_bytes"\n ],\n "type": "object"\n },\n "timestamp": {\n "description": "Value for timestamp.",\n "type": "number"\n },\n "type": {\n "description": "Value for type.",\n "type": "string"\n },\n "url": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for url."\n }\n },\n "required": [\n "type",\n "timestamp",\n "argument_types",\n "url",\n "line",\n "column",\n "text_capture"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "prior_activity_available": {\n "const": false,\n "description": "Value for prior activity available.",\n "type": "boolean"\n }\n },\n "required": [\n "events",\n "coverage_started_at",\n "prior_activity_available"\n ],\n "type": "object"\n },\n "dom": {\n "description": "Value for dom.",\n "properties": {\n "nodes": {\n "description": "Value for nodes.",\n "items": {\n "properties": {\n "attribute_names": {\n "description": "Value for attribute names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "index": {\n "description": "Value for index.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "node_name": {\n "description": "Value for node name.",\n "type": "string"\n },\n "node_type": {\n "description": "Value for node type.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "node_value_length": {\n "description": "Value for node value length.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "parent_index": {\n "description": "Value for parent index.",\n "maximum": 9007199254740991,\n "minimum": -1,\n "type": "integer"\n }\n },\n "required": [\n "index",\n "parent_index",\n "node_type",\n "node_name",\n "node_value_length",\n "attribute_names"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "total_nodes": {\n "description": "Value for total nodes.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "total_nodes",\n "nodes"\n ],\n "type": "object"\n },\n "frames": {\n "description": "Value for frames.",\n "items": {\n "properties": {\n "frame_id": {\n "description": "Value for frame id.",\n "type": "string"\n },\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "parent_frame_id": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for parent frame id."\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "frame_id",\n "parent_frame_id",\n "url",\n "origin"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "metadata": {\n "description": "Value for metadata.",\n "properties": {\n "agent_hints": {\n "description": "Value for agent hints.",\n "items": {\n "properties": {\n "declaration": {\n "description": "Value for declaration.",\n "type": "string"\n },\n "mechanism": {\n "description": "Value for mechanism.",\n "enum": [\n "link_rel",\n "dom_link_rel",\n "well_known_resource",\n "response_header"\n ],\n "type": "string"\n },\n "trust": {\n "const": "page-declared-untrusted",\n "description": "Value for trust.",\n "type": "string"\n },\n "url": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for url."\n }\n },\n "required": [\n "mechanism",\n "declaration",\n "url",\n "trust"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "dom_urls": {\n "description": "Value for dom urls.",\n "items": {\n "properties": {\n "attribute": {\n "description": "Value for attribute.",\n "enum": [\n "href",\n "src",\n "action",\n "formaction",\n "poster"\n ],\n "type": "string"\n },\n "destination_scope": {\n "description": "Value for destination scope.",\n "enum": [\n "approved",\n "outside_policy",\n "unsupported"\n ],\n "type": "string"\n },\n "node_index": {\n "description": "Value for node index.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "url": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for url."\n }\n },\n "required": [\n "node_index",\n "attribute",\n "url",\n "destination_scope"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "excluded_dom_urls": {\n "description": "Value for excluded dom urls.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "headers_allowlisted": {\n "const": true,\n "description": "Value for headers allowlisted.",\n "type": "boolean"\n },\n "responses": {\n "description": "Value for responses.",\n "items": {\n "properties": {\n "content_encoding": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for content encoding."\n },\n "content_length": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for content length."\n },\n "csp": {\n "description": "Value for csp.",\n "properties": {\n "directives": {\n "description": "Value for directives.",\n "items": {\n "properties": {\n "name": {\n "description": "Exact name used by this operation.",\n "type": "string"\n },\n "sources": {\n "description": "Value for sources.",\n "items": {\n "properties": {\n "kind": {\n "description": "Value for kind.",\n "enum": [\n "keyword",\n "scheme",\n "approved_origin",\n "external_origin",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for value."\n }\n },\n "required": [\n "kind",\n "value"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "name",\n "sources"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "hash_count": {\n "description": "Value for hash count.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "nonce_count": {\n "description": "Value for nonce count.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "directives",\n "nonce_count",\n "hash_count"\n ],\n "type": "object"\n },\n "links": {\n "description": "Value for links.",\n "items": {\n "properties": {\n "as": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for as."\n },\n "crossorigin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for crossorigin."\n },\n "destination_scope": {\n "description": "Value for destination scope.",\n "enum": [\n "approved",\n "outside_policy",\n "unsupported"\n ],\n "type": "string"\n },\n "href": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for href."\n },\n "rel": {\n "description": "Value for rel.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for type."\n }\n },\n "required": [\n "href",\n "destination_scope",\n "rel",\n "as",\n "type",\n "crossorigin"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "mime_type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for mime type."\n },\n "policies": {\n "description": "Value for policies.",\n "properties": {\n "coep": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for coep."\n },\n "coop": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for coop."\n },\n "corp": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for corp."\n },\n "permissions_policy_features": {\n "description": "Value for permissions policy features.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "referrer_policy": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for referrer policy."\n },\n "x_content_type_options": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for x content type options."\n }\n },\n "required": [\n "coop",\n "coep",\n "corp",\n "referrer_policy",\n "x_content_type_options",\n "permissions_policy_features"\n ],\n "type": "object"\n },\n "request_id": {\n "description": "Value for request id.",\n "type": "string"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "request_id",\n "url",\n "mime_type",\n "content_length",\n "content_encoding",\n "csp",\n "links",\n "policies"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "responses",\n "dom_urls",\n "agent_hints",\n "excluded_dom_urls",\n "headers_allowlisted"\n ],\n "type": "object"\n },\n "network": {\n "description": "Value for network.",\n "properties": {\n "coverage_started_at": {\n "description": "Value for coverage started at.",\n "format": "date-time",\n "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))$",\n "type": "string"\n },\n "prior_activity_available": {\n "const": false,\n "description": "Value for prior activity available.",\n "type": "boolean"\n },\n "requests": {\n "description": "Value for requests.",\n "items": {\n "properties": {\n "body_shapes": {\n "description": "Value for body shapes.",\n "properties": {\n "request": {\n "anyOf": [\n {\n "properties": {\n "max_depth_observed": {\n "description": "Maximum permitted depth observed for this operation.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "node_count": {\n "description": "Value for node count.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "properties": {\n "description": "Value for properties.",\n "items": {\n "properties": {\n "observations": {\n "description": "Value for observations.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "type": "string"\n },\n "types": {\n "description": "Value for types.",\n "items": {\n "enum": [\n "object",\n "array",\n "string",\n "number",\n "boolean",\n "null"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "path",\n "types",\n "observations"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "root_type": {\n "description": "Value for root type.",\n "enum": [\n "object",\n "array",\n "string",\n "number",\n "boolean",\n "null"\n ],\n "type": "string"\n }\n },\n "required": [\n "root_type",\n "node_count",\n "max_depth_observed",\n "properties"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for request."\n },\n "response": {\n "anyOf": [\n {\n "properties": {\n "max_depth_observed": {\n "description": "Maximum permitted depth observed for this operation.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "node_count": {\n "description": "Value for node count.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "properties": {\n "description": "Value for properties.",\n "items": {\n "properties": {\n "observations": {\n "description": "Value for observations.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "type": "string"\n },\n "types": {\n "description": "Value for types.",\n "items": {\n "enum": [\n "object",\n "array",\n "string",\n "number",\n "boolean",\n "null"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "path",\n "types",\n "observations"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "root_type": {\n "description": "Value for root type.",\n "enum": [\n "object",\n "array",\n "string",\n "number",\n "boolean",\n "null"\n ],\n "type": "string"\n }\n },\n "required": [\n "root_type",\n "node_count",\n "max_depth_observed",\n "properties"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for response."\n },\n "status": {\n "description": "Current lifecycle or verification status.",\n "enum": [\n "not_approved",\n "included",\n "partial",\n "unavailable"\n ],\n "type": "string"\n }\n },\n "required": [\n "status",\n "request",\n "response"\n ],\n "type": "object"\n },\n "encoded_data_length": {\n "anyOf": [\n {\n "minimum": 0,\n "type": "number"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for encoded data length."\n },\n "initiator": {\n "description": "Value for initiator.",\n "properties": {\n "column": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for column."\n },\n "line": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for line."\n },\n "type": {\n "description": "Value for type.",\n "type": "string"\n },\n "url": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for url."\n }\n },\n "required": [\n "type",\n "url",\n "line",\n "column"\n ],\n "type": "object"\n },\n "method": {\n "description": "Value for method.",\n "type": "string"\n },\n "mime_type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for mime type."\n },\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "request_id": {\n "description": "Value for request id.",\n "type": "string"\n },\n "resource_type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for resource type."\n },\n "status": {\n "anyOf": [\n {\n "type": "number"\n },\n {\n "type": "null"\n }\n ],\n "description": "Current lifecycle or verification status."\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "request_id",\n "url",\n "origin",\n "method",\n "resource_type",\n "status",\n "mime_type",\n "encoded_data_length",\n "initiator",\n "body_shapes"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "websocket_events": {\n "description": "Value for websocket events.",\n "items": {\n "properties": {\n "direction": {\n "description": "Direction in which to traverse or compare relationships.",\n "enum": [\n "sent",\n "received"\n ],\n "type": "string"\n },\n "opcode": {\n "description": "Value for opcode.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "payload_bytes": {\n "description": "Byte count for payload.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "payload_shape": {\n "anyOf": [\n {\n "properties": {\n "format": {\n "description": "Declared input artifact format.",\n "enum": [\n "json",\n "text",\n "binary"\n ],\n "type": "string"\n },\n "json_shape": {\n "anyOf": [\n {\n "properties": {\n "max_depth_observed": {\n "description": "Maximum permitted depth observed for this operation.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "node_count": {\n "description": "Value for node count.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "properties": {\n "description": "Value for properties.",\n "items": {\n "properties": {\n "observations": {\n "description": "Value for observations.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "type": "string"\n },\n "types": {\n "description": "Value for types.",\n "items": {\n "enum": [\n "object",\n "array",\n "string",\n "number",\n "boolean",\n "null"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "path",\n "types",\n "observations"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "root_type": {\n "description": "Value for root type.",\n "enum": [\n "object",\n "array",\n "string",\n "number",\n "boolean",\n "null"\n ],\n "type": "string"\n }\n },\n "required": [\n "root_type",\n "node_count",\n "max_depth_observed",\n "properties"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for json shape."\n }\n },\n "required": [\n "format",\n "json_shape"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for payload shape."\n },\n "request_id": {\n "description": "Value for request id.",\n "type": "string"\n }\n },\n "required": [\n "request_id",\n "direction",\n "opcode",\n "payload_bytes",\n "payload_shape"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "requests",\n "websocket_events",\n "coverage_started_at",\n "prior_activity_available"\n ],\n "type": "object"\n },\n "resources": {\n "description": "Value for resources.",\n "items": {\n "properties": {\n "content_size": {\n "anyOf": [\n {\n "minimum": 0,\n "type": "number"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for content size."\n },\n "mime_type": {\n "description": "Value for mime type.",\n "type": "string"\n },\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "resource_key": {\n "description": "Value for resource key.",\n "pattern": "^res_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": {\n "description": "Value for type.",\n "type": "string"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "resource_key",\n "url",\n "origin",\n "type",\n "mime_type",\n "content_size"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "scripts": {\n "description": "Value for scripts.",\n "properties": {\n "items": {\n "description": "Value for items.",\n "items": {\n "properties": {\n "cdp_hash": {\n "description": "Value for cdp hash.",\n "type": "string"\n },\n "frame_id": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "Value for frame id."\n },\n "is_module": {\n "description": "Whether is module.",\n "type": "boolean"\n },\n "language": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for language."\n },\n "length": {\n "description": "Value for length.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "resource_reconciliation": {\n "description": "Value for resource reconciliation.",\n "oneOf": [\n {\n "properties": {\n "resource_key": {\n "description": "Value for resource key.",\n "type": "string"\n },\n "status": {\n "const": "exact",\n "description": "Current lifecycle or verification status.",\n "type": "string"\n }\n },\n "required": [\n "status",\n "resource_key"\n ],\n "type": "object"\n },\n {\n "properties": {\n "candidate_resource_keys": {\n "description": "Value for candidate resource keys.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "status": {\n "const": "ambiguous",\n "description": "Current lifecycle or verification status.",\n "type": "string"\n }\n },\n "required": [\n "status",\n "candidate_resource_keys"\n ],\n "type": "object"\n },\n {\n "properties": {\n "reason": {\n "const": "no_exact_sanitized_url",\n "description": "Value for reason.",\n "type": "string"\n },\n "status": {\n "const": "unmatched",\n "description": "Current lifecycle or verification status.",\n "type": "string"\n }\n },\n "required": [\n "status",\n "reason"\n ],\n "type": "object"\n }\n ]\n },\n "script_key": {\n "description": "Value for script key.",\n "pattern": "^scr_[a-f0-9]{64}(?:_[0-9]+)?$",\n "type": "string"\n },\n "source": {\n "description": "Value for source.",\n "oneOf": [\n {\n "properties": {\n "included": {\n "const": false,\n "description": "Value for included.",\n "type": "boolean"\n },\n "reason": {\n "description": "Value for reason.",\n "type": "string"\n }\n },\n "required": [\n "included",\n "reason"\n ],\n "type": "object"\n },\n {\n "properties": {\n "artifact": {\n "description": "Value for artifact.",\n "properties": {\n "bytes": {\n "description": "Value for bytes.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "charset": {\n "const": "utf-8",\n "description": "Value for charset.",\n "type": "string"\n },\n "media_type": {\n "description": "Value for media type.",\n "minLength": 1,\n "type": "string"\n },\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "text": {\n "description": "Value for text.",\n "type": "string"\n }\n },\n "required": [\n "sha256",\n "bytes",\n "media_type",\n "charset",\n "text"\n ],\n "type": "object"\n },\n "included": {\n "const": true,\n "description": "Value for included.",\n "type": "boolean"\n }\n },\n "required": [\n "included",\n "artifact"\n ],\n "type": "object"\n }\n ]\n },\n "source_map_url": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for source map url."\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "script_key",\n "url",\n "origin",\n "cdp_hash",\n "length",\n "is_module",\n "language",\n "source_map_url",\n "resource_reconciliation",\n "source"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "total": {\n "description": "Value for total.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "total",\n "items"\n ],\n "type": "object"\n },\n "storage": {\n "description": "Value for storage.",\n "properties": {\n "cache_names": {\n "description": "Value for cache names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "content_fingerprints": {\n "default": [],\n "description": "Value for content fingerprints.",\n "items": {\n "properties": {\n "complete": {\n "description": "Value for complete.",\n "type": "boolean"\n },\n "identity_sha256": {\n "description": "Exact SHA-256 digest of identity.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "scope": {\n "description": "Value for scope.",\n "enum": [\n "cookie",\n "local_storage",\n "session_storage",\n "indexed_db_schema",\n "indexed_db_record",\n "cache_entry"\n ],\n "type": "string"\n },\n "value_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Exact SHA-256 digest of value."\n }\n },\n "required": [\n "scope",\n "identity_sha256",\n "value_sha256",\n "complete"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "fingerprint_algorithm": {\n "const": "sha256",\n "default": "sha256",\n "description": "Value for fingerprint algorithm.",\n "type": "string"\n },\n "fingerprints_complete": {\n "default": false,\n "description": "Value for fingerprints complete.",\n "type": "boolean"\n },\n "indexed_db_names": {\n "description": "Value for indexed db names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "local_storage_keys": {\n "description": "Value for local storage keys.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "origin": {\n "description": "Value for origin.",\n "type": "string"\n },\n "quota_bytes": {\n "anyOf": [\n {\n "minimum": 0,\n "type": "number"\n },\n {\n "type": "null"\n }\n ],\n "description": "Byte count for quota."\n },\n "session_storage_keys": {\n "description": "Value for session storage keys.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "usage_bytes": {\n "anyOf": [\n {\n "minimum": 0,\n "type": "number"\n },\n {\n "type": "null"\n }\n ],\n "description": "Byte count for usage."\n },\n "values_redacted": {\n "const": true,\n "description": "Value for values redacted.",\n "type": "boolean"\n }\n },\n "required": [\n "origin",\n "usage_bytes",\n "quota_bytes",\n "local_storage_keys",\n "session_storage_keys",\n "indexed_db_names",\n "cache_names",\n "values_redacted"\n ],\n "type": "object"\n },\n "target": {\n "description": "Value for target.",\n "properties": {\n "attached": {\n "description": "Value for attached.",\n "type": "boolean"\n },\n "origin": {\n "description": "Value for origin.",\n "type": "string"\n },\n "target_id": {\n "description": "Exact CDP target identifier selected from the endpoint\'s target listing.",\n "type": "string"\n },\n "title": {\n "description": "Value for title.",\n "type": "string"\n },\n "type": {\n "description": "Value for type.",\n "type": "string"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "target_id",\n "type",\n "title",\n "url",\n "origin",\n "attached"\n ],\n "type": "object"\n },\n "workers": {\n "description": "Value for workers.",\n "items": {\n "properties": {\n "attached": {\n "description": "Value for attached.",\n "type": "boolean"\n },\n "opener_target_id": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "Value for opener target id."\n },\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "parent_frame_id": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "Value for parent frame id."\n },\n "target_id": {\n "description": "Exact CDP target identifier selected from the endpoint\'s target listing.",\n "type": "string"\n },\n "type": {\n "description": "Value for type.",\n "type": "string"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "target_id",\n "type",\n "url",\n "origin",\n "attached"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "browser",\n "target",\n "capture_window",\n "completeness",\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "resources",\n "network",\n "console",\n "workers",\n "metadata",\n "storage",\n "limitations"\n ],\n "type": "object"\n },\n "webmcp": {\n "anyOf": [\n {\n "properties": {\n "browser": {\n "description": "Value for browser.",\n "properties": {\n "js_version": {\n "description": "Value for js version.",\n "type": "string"\n },\n "product": {\n "description": "Value for product.",\n "type": "string"\n },\n "protocol_version": {\n "description": "Value for protocol version.",\n "type": "string"\n },\n "revision": {\n "description": "Value for revision.",\n "type": "string"\n },\n "user_agent": {\n "description": "Value for user agent.",\n "type": "string"\n }\n },\n "required": [\n "product",\n "protocol_version",\n "revision",\n "user_agent",\n "js_version"\n ],\n "type": "object"\n },\n "completeness": {\n "description": "Value for completeness.",\n "properties": {\n "attach_limited_sections": {\n "description": "Value for attach limited sections.",\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "conditions": {\n "description": "Value for conditions.",\n "items": {\n "enum": [\n "complete_within_window",\n "policy_filtered",\n "attach_limited",\n "truncated"\n ],\n "type": "string"\n },\n "maxItems": 3,\n "minItems": 1,\n "type": "array"\n },\n "dropped_events": {\n "description": "Value for dropped events.",\n "properties": {\n "console_events": {\n "description": "Value for console events.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "network_requests": {\n "description": "Value for network requests.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "scripts": {\n "description": "Value for scripts.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "timeline_events": {\n "description": "Value for timeline events.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "total": {\n "description": "Value for total.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "webmcp_tools": {\n "description": "Value for webmcp tools.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "websocket_connections": {\n "description": "Value for websocket connections.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "websocket_frames": {\n "description": "Value for websocket frames.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "scripts",\n "network_requests",\n "console_events",\n "websocket_connections",\n "websocket_frames",\n "webmcp_tools",\n "timeline_events",\n "total"\n ],\n "type": "object"\n },\n "excluded": {\n "description": "Value for excluded.",\n "items": {\n "properties": {\n "count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for count."\n },\n "reason": {\n "description": "Value for reason.",\n "enum": [\n "disallowed_origin",\n "unsupported_url",\n "unattributed_origin",\n "not_approved",\n "out_of_target_scope",\n "provider_unavailable",\n "invalid_protocol_value"\n ],\n "type": "string"\n },\n "section": {\n "description": "Value for section.",\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n }\n },\n "required": [\n "section",\n "reason",\n "count"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "policy_filtered_sections": {\n "description": "Value for policy filtered sections.",\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "status": {\n "description": "Current lifecycle or verification status.",\n "enum": [\n "complete_within_window",\n "policy_filtered",\n "attach_limited",\n "truncated"\n ],\n "type": "string"\n },\n "truncated_sections": {\n "description": "Value for truncated sections.",\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "unavailable_sections": {\n "description": "Value for unavailable sections.",\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n }\n },\n "required": [\n "status",\n "conditions",\n "policy_filtered_sections",\n "attach_limited_sections",\n "truncated_sections",\n "unavailable_sections",\n "excluded",\n "dropped_events"\n ],\n "type": "object"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "status": {\n "description": "Current lifecycle or verification status.",\n "enum": [\n "available",\n "unavailable"\n ],\n "type": "string"\n },\n "target": {\n "description": "Value for target.",\n "properties": {\n "origin": {\n "description": "Value for origin.",\n "type": "string"\n },\n "target_id": {\n "description": "Exact CDP target identifier selected from the endpoint\'s target listing.",\n "type": "string"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "target_id",\n "url",\n "origin"\n ],\n "type": "object"\n },\n "tools": {\n "description": "Value for tools.",\n "properties": {\n "items": {\n "description": "Value for items.",\n "items": {\n "properties": {\n "annotations": {\n "description": "Value for annotations.",\n "properties": {\n "autosubmit": {\n "anyOf": [\n {\n "type": "boolean"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for autosubmit."\n },\n "read_only": {\n "anyOf": [\n {\n "type": "boolean"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for read only."\n },\n "untrusted_content": {\n "anyOf": [\n {\n "type": "boolean"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for untrusted content."\n }\n },\n "required": [\n "read_only",\n "untrusted_content",\n "autosubmit"\n ],\n "type": "object"\n },\n "declaration_kind": {\n "description": "Value for declaration kind.",\n "enum": [\n "declarative",\n "imperative"\n ],\n "type": "string"\n },\n "description": {\n "description": "Value for description.",\n "type": "string"\n },\n "frame_id": {\n "description": "Value for frame id.",\n "type": "string"\n },\n "frame_url": {\n "description": "Value for frame url.",\n "type": "string"\n },\n "input_schema_shape": {\n "anyOf": [\n {\n "properties": {\n "max_depth_observed": {\n "description": "Maximum permitted depth observed for this operation.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "node_count": {\n "description": "Value for node count.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "properties": {\n "description": "Value for properties.",\n "items": {\n "properties": {\n "observations": {\n "description": "Value for observations.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "type": "string"\n },\n "types": {\n "description": "Value for types.",\n "items": {\n "enum": [\n "object",\n "array",\n "string",\n "number",\n "boolean",\n "null"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "path",\n "types",\n "observations"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "root_type": {\n "description": "Value for root type.",\n "enum": [\n "object",\n "array",\n "string",\n "number",\n "boolean",\n "null"\n ],\n "type": "string"\n }\n },\n "required": [\n "root_type",\n "node_count",\n "max_depth_observed",\n "properties"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for input schema shape."\n },\n "name": {\n "description": "Exact name used by this operation.",\n "type": "string"\n },\n "owner_origin": {\n "description": "Value for owner origin.",\n "type": "string"\n },\n "registration_source": {\n "anyOf": [\n {\n "properties": {\n "column": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for column."\n },\n "line": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for line."\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "url",\n "line",\n "column"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for registration source."\n },\n "tool_key": {\n "description": "Value for tool key.",\n "pattern": "^webmcp_[a-f0-9]{64}$",\n "type": "string"\n },\n "trust": {\n "const": "page-declared-untrusted",\n "description": "Value for trust.",\n "type": "string"\n }\n },\n "required": [\n "tool_key",\n "name",\n "description",\n "frame_id",\n "frame_url",\n "owner_origin",\n "declaration_kind",\n "input_schema_shape",\n "annotations",\n "registration_source",\n "trust"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "total": {\n "description": "Value for total.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "total",\n "items"\n ],\n "type": "object"\n }\n },\n "required": [\n "browser",\n "target",\n "status",\n "tools",\n "completeness",\n "limitations"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "Value for webmcp."\n }\n },\n "required": [\n "inspection"\n ],\n "type": "object"\n },\n "before_scenario": {\n "additionalProperties": false,\n "description": "Earlier browser scenario capture.",\n "properties": {\n "browser": {\n "additionalProperties": false,\n "description": "Value for browser.",\n "properties": {\n "cleanup": {\n "description": "Value for cleanup.",\n "enum": [\n "terminated-owned-process",\n "disconnected-external"\n ],\n "type": "string"\n },\n "mode": {\n "description": "Operation mode that selects the requested behavior.",\n "enum": [\n "launch",\n "connect"\n ],\n "type": "string"\n },\n "process_ownership": {\n "description": "Value for process ownership.",\n "enum": [\n "provider-owned",\n "external"\n ],\n "type": "string"\n },\n "product": {\n "description": "Value for product.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "description": "Value for version.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "mode",\n "process_ownership",\n "cleanup",\n "product",\n "version"\n ],\n "type": "object"\n },\n "completeness": {\n "description": "Value for completeness.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "equality_eligible": {\n "const": true,\n "description": "Value for equality eligible.",\n "type": "boolean"\n },\n "missing_sections": {\n "description": "Value for missing sections.",\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "status": {\n "const": "complete",\n "description": "Current lifecycle or verification status.",\n "type": "string"\n },\n "truncated_sections": {\n "description": "Value for truncated sections.",\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n }\n },\n "required": [\n "status",\n "equality_eligible",\n "missing_sections",\n "truncated_sections"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "equality_eligible": {\n "const": false,\n "description": "Value for equality eligible.",\n "type": "boolean"\n },\n "missing_sections": {\n "description": "Value for missing sections.",\n "items": {\n "enum": [\n "action",\n "screenshot",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage",\n "events",\n "frames",\n "workers",\n "popups",\n "websockets"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "status": {\n "const": "incomplete",\n "description": "Current lifecycle or verification status.",\n "type": "string"\n },\n "truncated_sections": {\n "description": "Value for truncated sections.",\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n }\n },\n "required": [\n "status",\n "equality_eligible",\n "missing_sections",\n "truncated_sections"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "equality_eligible": {\n "const": false,\n "description": "Value for equality eligible.",\n "type": "boolean"\n },\n "missing_sections": {\n "description": "Value for missing sections.",\n "items": {\n "enum": [\n "action",\n "screenshot",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage",\n "events",\n "frames",\n "workers",\n "popups",\n "websockets"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "status": {\n "const": "truncated",\n "description": "Current lifecycle or verification status.",\n "type": "string"\n },\n "truncated_sections": {\n "description": "Value for truncated sections.",\n "items": {\n "enum": [\n "action",\n "screenshot",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage",\n "events",\n "frames",\n "workers",\n "popups",\n "websockets"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "status",\n "equality_eligible",\n "missing_sections",\n "truncated_sections"\n ],\n "type": "object"\n }\n ]\n },\n "duration_ms": {\n "description": "Value for duration ms.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "events": {\n "additionalProperties": false,\n "description": "Value for events.",\n "properties": {\n "dropped": {\n "description": "Value for dropped.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "items": {\n "description": "Value for items.",\n "items": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "console",\n "description": "Value for kind.",\n "type": "string"\n },\n "level": {\n "description": "Value for level.",\n "minLength": 1,\n "type": "string"\n },\n "sequence": {\n "description": "Value for sequence.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "step_index": {\n "description": "Value for step index.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "text": {\n "description": "Value for text.",\n "type": "string"\n },\n "url": {\n "anyOf": [\n {\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "query_parameter_names": {\n "description": "Value for query parameter names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "description": "Value for redacted.",\n "type": "boolean"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for url."\n }\n },\n "required": [\n "sequence",\n "step_index",\n "kind",\n "level",\n "text",\n "url"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "page-error",\n "description": "Value for kind.",\n "type": "string"\n },\n "message": {\n "description": "Value for message.",\n "type": "string"\n },\n "sequence": {\n "description": "Value for sequence.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "stack": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for stack."\n },\n "step_index": {\n "description": "Value for step index.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "sequence",\n "step_index",\n "kind",\n "message",\n "stack"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "failure": {\n "description": "Value for failure.",\n "type": "null"\n },\n "header_names": {\n "description": "Value for header names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "kind": {\n "const": "request",\n "description": "Value for kind.",\n "type": "string"\n },\n "method": {\n "description": "Value for method.",\n "minLength": 1,\n "type": "string"\n },\n "redirected_from_transaction_id": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for redirected from transaction id."\n },\n "resource_type": {\n "description": "Value for resource type.",\n "minLength": 1,\n "type": "string"\n },\n "sequence": {\n "description": "Value for sequence.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "status": {\n "description": "Current lifecycle or verification status.",\n "type": "null"\n },\n "step_index": {\n "description": "Value for step index.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "transaction_id": {\n "description": "Value for transaction id.",\n "minLength": 1,\n "type": "string"\n },\n "url": {\n "description": "Value for url.",\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "query_parameter_names": {\n "description": "Value for query parameter names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "description": "Value for redacted.",\n "type": "boolean"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n }\n },\n "required": [\n "sequence",\n "step_index",\n "method",\n "url",\n "resource_type",\n "header_names",\n "kind",\n "status",\n "failure"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "failure": {\n "description": "Value for failure.",\n "type": "null"\n },\n "header_names": {\n "description": "Value for header names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "kind": {\n "const": "response",\n "description": "Value for kind.",\n "type": "string"\n },\n "method": {\n "description": "Value for method.",\n "minLength": 1,\n "type": "string"\n },\n "redirected_from_transaction_id": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for redirected from transaction id."\n },\n "resource_type": {\n "description": "Value for resource type.",\n "minLength": 1,\n "type": "string"\n },\n "sequence": {\n "description": "Value for sequence.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "status": {\n "description": "Current lifecycle or verification status.",\n "maximum": 599,\n "minimum": 100,\n "type": "integer"\n },\n "step_index": {\n "description": "Value for step index.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "transaction_id": {\n "description": "Value for transaction id.",\n "minLength": 1,\n "type": "string"\n },\n "url": {\n "description": "Value for url.",\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "query_parameter_names": {\n "description": "Value for query parameter names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "description": "Value for redacted.",\n "type": "boolean"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n }\n },\n "required": [\n "sequence",\n "step_index",\n "method",\n "url",\n "resource_type",\n "header_names",\n "kind",\n "status",\n "failure"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "failure": {\n "description": "Value for failure.",\n "minLength": 1,\n "type": "string"\n },\n "header_names": {\n "description": "Value for header names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "kind": {\n "const": "request-failed",\n "description": "Value for kind.",\n "type": "string"\n },\n "method": {\n "description": "Value for method.",\n "minLength": 1,\n "type": "string"\n },\n "redirected_from_transaction_id": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for redirected from transaction id."\n },\n "resource_type": {\n "description": "Value for resource type.",\n "minLength": 1,\n "type": "string"\n },\n "sequence": {\n "description": "Value for sequence.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "status": {\n "description": "Current lifecycle or verification status.",\n "type": "null"\n },\n "step_index": {\n "description": "Value for step index.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "transaction_id": {\n "description": "Value for transaction id.",\n "minLength": 1,\n "type": "string"\n },\n "url": {\n "description": "Value for url.",\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "query_parameter_names": {\n "description": "Value for query parameter names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "description": "Value for redacted.",\n "type": "boolean"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n }\n },\n "required": [\n "sequence",\n "step_index",\n "method",\n "url",\n "resource_type",\n "header_names",\n "kind",\n "status",\n "failure"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "failure": {\n "description": "Value for failure.",\n "type": "null"\n },\n "header_names": {\n "description": "Value for header names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "kind": {\n "const": "request-finished",\n "description": "Value for kind.",\n "type": "string"\n },\n "method": {\n "description": "Value for method.",\n "minLength": 1,\n "type": "string"\n },\n "redirected_from_transaction_id": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for redirected from transaction id."\n },\n "resource_type": {\n "description": "Value for resource type.",\n "minLength": 1,\n "type": "string"\n },\n "sequence": {\n "description": "Value for sequence.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "status": {\n "description": "Current lifecycle or verification status.",\n "type": "null"\n },\n "step_index": {\n "description": "Value for step index.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "transaction_id": {\n "description": "Value for transaction id.",\n "minLength": 1,\n "type": "string"\n },\n "url": {\n "description": "Value for url.",\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "query_parameter_names": {\n "description": "Value for query parameter names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "description": "Value for redacted.",\n "type": "boolean"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n }\n },\n "required": [\n "sequence",\n "step_index",\n "method",\n "url",\n "resource_type",\n "header_names",\n "kind",\n "status",\n "failure"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "failure": {\n "description": "Value for failure.",\n "type": "null"\n },\n "header_names": {\n "description": "Value for header names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "kind": {\n "const": "request-unfinished",\n "description": "Value for kind.",\n "type": "string"\n },\n "method": {\n "description": "Value for method.",\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "description": "Value for reason.",\n "enum": [\n "capture-ended",\n "cancelled"\n ],\n "type": "string"\n },\n "redirected_from_transaction_id": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for redirected from transaction id."\n },\n "resource_type": {\n "description": "Value for resource type.",\n "minLength": 1,\n "type": "string"\n },\n "sequence": {\n "description": "Value for sequence.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "status": {\n "description": "Current lifecycle or verification status.",\n "type": "null"\n },\n "step_index": {\n "description": "Value for step index.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "transaction_id": {\n "description": "Value for transaction id.",\n "minLength": 1,\n "type": "string"\n },\n "url": {\n "description": "Value for url.",\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "query_parameter_names": {\n "description": "Value for query parameter names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "description": "Value for redacted.",\n "type": "boolean"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n }\n },\n "required": [\n "sequence",\n "step_index",\n "method",\n "url",\n "resource_type",\n "header_names",\n "kind",\n "status",\n "failure",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "body": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "not_requested",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "not_exposed",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "message": {\n "description": "Value for message.",\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "description": "Value for reason.",\n "enum": [\n "request-failed",\n "response-unfinished",\n "body-read-failed",\n "body-read-timeout",\n "cancelled",\n "capture-ended"\n ],\n "type": "string"\n },\n "state": {\n "const": "unavailable",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason",\n "message"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "bytes": {\n "description": "Value for bytes.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "content": {\n "description": "Value for content.",\n "type": "string"\n },\n "encoding": {\n "const": "base64",\n "description": "Value for encoding.",\n "type": "string"\n },\n "media_type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for media type."\n },\n "redacted": {\n "description": "Value for redacted.",\n "type": "boolean"\n },\n "representation": {\n "description": "Value for representation.",\n "enum": [\n "browser-exposed-request-bytes",\n "browser-decoded-response-bytes"\n ],\n "type": "string"\n },\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "state": {\n "const": "captured",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "representation",\n "encoding",\n "content",\n "bytes",\n "sha256",\n "media_type",\n "redacted"\n ],\n "type": "object"\n }\n ],\n "description": "Value for body."\n },\n "headers": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "not_requested",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "message": {\n "description": "Value for message.",\n "minLength": 1,\n "type": "string"\n },\n "state": {\n "const": "unavailable",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "message"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "items": {\n "description": "Value for items.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "redacted": {\n "description": "Value for redacted.",\n "type": "boolean"\n },\n "value": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for value."\n }\n },\n "required": [\n "name",\n "value",\n "redacted"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "state": {\n "const": "captured",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "items"\n ],\n "type": "object"\n }\n ],\n "description": "Value for headers."\n },\n "kind": {\n "const": "network-content",\n "description": "Value for kind.",\n "type": "string"\n },\n "phase": {\n "description": "Current plan or execution phase of the operation.",\n "enum": [\n "request",\n "response"\n ],\n "type": "string"\n },\n "sequence": {\n "description": "Value for sequence.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "source_event_sequence": {\n "description": "Value for source event sequence.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "step_index": {\n "description": "Value for step index.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "transaction_id": {\n "description": "Value for transaction id.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "sequence",\n "step_index",\n "kind",\n "transaction_id",\n "source_event_sequence",\n "phase",\n "headers",\n "body"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "description": "Value for kind.",\n "enum": [\n "websocket-opened",\n "websocket-closed"\n ],\n "type": "string"\n },\n "sequence": {\n "description": "Value for sequence.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "step_index": {\n "description": "Value for step index.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "url": {\n "description": "Value for url.",\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "query_parameter_names": {\n "description": "Value for query parameter names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "description": "Value for redacted.",\n "type": "boolean"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n }\n },\n "required": [\n "sequence",\n "step_index",\n "kind",\n "url"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "description": "Value for kind.",\n "enum": [\n "websocket-frame-sent",\n "websocket-frame-received"\n ],\n "type": "string"\n },\n "payload_bytes": {\n "description": "Byte count for payload.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "payload_text": {\n "description": "Value for payload text.",\n "type": "string"\n },\n "payload_type": {\n "const": "text",\n "description": "Value for payload type.",\n "type": "string"\n },\n "sequence": {\n "description": "Value for sequence.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "step_index": {\n "description": "Value for step index.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "truncated": {\n "description": "Value for truncated.",\n "type": "boolean"\n },\n "url": {\n "description": "Value for url.",\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "query_parameter_names": {\n "description": "Value for query parameter names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "description": "Value for redacted.",\n "type": "boolean"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n }\n },\n "required": [\n "sequence",\n "step_index",\n "kind",\n "url",\n "payload_bytes",\n "truncated",\n "payload_type",\n "payload_text"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "description": "Value for kind.",\n "enum": [\n "websocket-frame-sent",\n "websocket-frame-received"\n ],\n "type": "string"\n },\n "payload_bytes": {\n "description": "Byte count for payload.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "payload_text": {\n "description": "Value for payload text.",\n "type": "null"\n },\n "payload_type": {\n "const": "binary",\n "description": "Value for payload type.",\n "type": "string"\n },\n "sequence": {\n "description": "Value for sequence.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "step_index": {\n "description": "Value for step index.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "truncated": {\n "description": "Value for truncated.",\n "type": "boolean"\n },\n "url": {\n "description": "Value for url.",\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "query_parameter_names": {\n "description": "Value for query parameter names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "description": "Value for redacted.",\n "type": "boolean"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n }\n },\n "required": [\n "sequence",\n "step_index",\n "kind",\n "url",\n "payload_bytes",\n "truncated",\n "payload_type",\n "payload_text"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "description": "Value for kind.",\n "enum": [\n "frame-attached",\n "frame-detached",\n "frame-navigated",\n "worker-created",\n "worker-closed",\n "popup-opened",\n "popup-closed"\n ],\n "type": "string"\n },\n "name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Exact name used by this operation."\n },\n "sequence": {\n "description": "Value for sequence.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "step_index": {\n "description": "Value for step index.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "url": {\n "anyOf": [\n {\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "query_parameter_names": {\n "description": "Value for query parameter names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "description": "Value for redacted.",\n "type": "boolean"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for url."\n }\n },\n "required": [\n "sequence",\n "step_index",\n "kind",\n "url",\n "name"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "download-cancelled",\n "description": "Value for kind.",\n "type": "string"\n },\n "sequence": {\n "description": "Value for sequence.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "step_index": {\n "description": "Value for step index.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "suggested_filename": {\n "description": "Value for suggested filename.",\n "type": "string"\n },\n "url": {\n "description": "Value for url.",\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "query_parameter_names": {\n "description": "Value for query parameter names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "description": "Value for redacted.",\n "type": "boolean"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n }\n },\n "required": [\n "sequence",\n "step_index",\n "kind",\n "suggested_filename",\n "url"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "retained": {\n "description": "Value for retained.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "retained",\n "dropped",\n "items"\n ],\n "type": "object"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "scenario": {\n "additionalProperties": false,\n "description": "Value for scenario.",\n "properties": {\n "action_count": {\n "description": "Value for action count.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "network_content": {\n "additionalProperties": false,\n "description": "Value for network content.",\n "properties": {\n "header_values": {\n "default": false,\n "description": "Value for header values.",\n "type": "boolean"\n },\n "request_body": {\n "default": false,\n "description": "Value for request body.",\n "type": "boolean"\n },\n "response_body": {\n "default": false,\n "description": "Value for response body.",\n "type": "boolean"\n }\n },\n "type": "object"\n },\n "secret_references": {\n "description": "Value for secret references.",\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "start_origin": {\n "description": "Value for start origin.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "start_origin",\n "action_count",\n "secret_references"\n ],\n "type": "object"\n },\n "steps": {\n "description": "Value for steps.",\n "items": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "action": {\n "description": "Value for action.",\n "minLength": 1,\n "type": "string"\n },\n "after_url": {\n "description": "Value for after url.",\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "query_parameter_names": {\n "description": "Value for query parameter names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "description": "Value for redacted.",\n "type": "boolean"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n },\n "artifacts": {\n "additionalProperties": false,\n "description": "Value for artifacts.",\n "properties": {\n "accessibility": {\n "description": "Value for accessibility.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "captured",\n "description": "Value for state.",\n "type": "string"\n },\n "value": {\n "additionalProperties": false,\n "description": "Value for value.",\n "properties": {\n "bytes": {\n "description": "Value for bytes.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "text": {\n "description": "Value for text.",\n "type": "string"\n }\n },\n "required": [\n "sha256",\n "bytes",\n "text"\n ],\n "type": "object"\n }\n },\n "required": [\n "state",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "not_requested",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "state": {\n "const": "missing",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "observed": {\n "description": "Value for observed.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "retained": {\n "description": "Value for retained.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "state": {\n "const": "truncated",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "observed",\n "retained",\n "reason"\n ],\n "type": "object"\n }\n ]\n },\n "dom": {\n "description": "Value for dom.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "captured",\n "description": "Value for state.",\n "type": "string"\n },\n "value": {\n "additionalProperties": false,\n "description": "Value for value.",\n "properties": {\n "bytes": {\n "description": "Value for bytes.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "text": {\n "description": "Value for text.",\n "type": "string"\n }\n },\n "required": [\n "sha256",\n "bytes",\n "text"\n ],\n "type": "object"\n }\n },\n "required": [\n "state",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "not_requested",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "state": {\n "const": "missing",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "observed": {\n "description": "Value for observed.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "retained": {\n "description": "Value for retained.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "state": {\n "const": "truncated",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "observed",\n "retained",\n "reason"\n ],\n "type": "object"\n }\n ]\n },\n "history": {\n "description": "Value for history.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "captured",\n "description": "Value for state.",\n "type": "string"\n },\n "value": {\n "additionalProperties": false,\n "description": "Value for value.",\n "properties": {\n "current_url": {\n "description": "Value for current url.",\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "query_parameter_names": {\n "description": "Value for query parameter names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "description": "Value for redacted.",\n "type": "boolean"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n },\n "length": {\n "description": "Value for length.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "navigation_entries": {\n "description": "Value for navigation entries.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "description": "Exact name used by this operation.",\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "query_parameter_names": {\n "description": "Value for query parameter names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "description": "Value for redacted.",\n "type": "boolean"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n },\n "type": {\n "description": "Value for type.",\n "enum": [\n "navigate",\n "reload",\n "back_forward",\n "prerender",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "type",\n "name"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "length",\n "current_url",\n "navigation_entries"\n ],\n "type": "object"\n }\n },\n "required": [\n "state",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "not_requested",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "state": {\n "const": "missing",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "observed": {\n "description": "Value for observed.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "retained": {\n "description": "Value for retained.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "state": {\n "const": "truncated",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "observed",\n "retained",\n "reason"\n ],\n "type": "object"\n }\n ]\n },\n "screenshot": {\n "description": "Value for screenshot.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "captured",\n "description": "Value for state.",\n "type": "string"\n },\n "value": {\n "description": "Value for value.",\n "properties": {\n "bytes": {\n "description": "Value for bytes.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "data_base64": {\n "description": "Value for data base64.",\n "type": "string"\n },\n "media_type": {\n "const": "image/png",\n "description": "Value for media type.",\n "type": "string"\n },\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256",\n "bytes",\n "media_type",\n "data_base64"\n ],\n "type": "object"\n }\n },\n "required": [\n "state",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "not_requested",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "state": {\n "const": "missing",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "observed": {\n "description": "Value for observed.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "retained": {\n "description": "Value for retained.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "state": {\n "const": "truncated",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "observed",\n "retained",\n "reason"\n ],\n "type": "object"\n }\n ]\n },\n "storage": {\n "description": "Value for storage.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "captured",\n "description": "Value for state.",\n "type": "string"\n },\n "value": {\n "additionalProperties": false,\n "description": "Value for value.",\n "properties": {\n "cookies": {\n "description": "Value for cookies.",\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "domain": {\n "description": "Value for domain.",\n "type": "string"\n },\n "http_only": {\n "description": "Value for http only.",\n "type": "boolean"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "type": "string"\n },\n "same_site": {\n "description": "Value for same site.",\n "enum": [\n "Strict",\n "Lax",\n "None"\n ],\n "type": "string"\n },\n "secure": {\n "description": "Value for secure.",\n "type": "boolean"\n },\n "value_sha256": {\n "description": "Exact SHA-256 digest of value.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "value_state": {\n "const": "hashed",\n "description": "Value for value state.",\n "type": "string"\n }\n },\n "required": [\n "name",\n "domain",\n "path",\n "secure",\n "http_only",\n "same_site",\n "value_state",\n "value_sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "domain": {\n "description": "Value for domain.",\n "type": "string"\n },\n "http_only": {\n "description": "Value for http only.",\n "type": "boolean"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "type": "string"\n },\n "same_site": {\n "description": "Value for same site.",\n "enum": [\n "Strict",\n "Lax",\n "None"\n ],\n "type": "string"\n },\n "secure": {\n "description": "Value for secure.",\n "type": "boolean"\n },\n "value_sha256": {\n "description": "Exact SHA-256 digest of value.",\n "type": "null"\n },\n "value_state": {\n "const": "redacted-secret",\n "description": "Value for value state.",\n "type": "string"\n }\n },\n "required": [\n "name",\n "domain",\n "path",\n "secure",\n "http_only",\n "same_site",\n "value_state",\n "value_sha256"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "local_storage": {\n "description": "Value for local storage.",\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "name": {\n "description": "Exact name used by this operation.",\n "type": "string"\n },\n "value_sha256": {\n "description": "Exact SHA-256 digest of value.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "value_state": {\n "const": "hashed",\n "description": "Value for value state.",\n "type": "string"\n }\n },\n "required": [\n "name",\n "value_state",\n "value_sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "name": {\n "description": "Exact name used by this operation.",\n "type": "string"\n },\n "value_sha256": {\n "description": "Exact SHA-256 digest of value.",\n "type": "null"\n },\n "value_state": {\n "const": "redacted-secret",\n "description": "Value for value state.",\n "type": "string"\n }\n },\n "required": [\n "name",\n "value_state",\n "value_sha256"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "session_storage": {\n "description": "Value for session storage.",\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "name": {\n "description": "Exact name used by this operation.",\n "type": "string"\n },\n "value_sha256": {\n "description": "Exact SHA-256 digest of value.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "value_state": {\n "const": "hashed",\n "description": "Value for value state.",\n "type": "string"\n }\n },\n "required": [\n "name",\n "value_state",\n "value_sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "name": {\n "description": "Exact name used by this operation.",\n "type": "string"\n },\n "value_sha256": {\n "description": "Exact SHA-256 digest of value.",\n "type": "null"\n },\n "value_state": {\n "const": "redacted-secret",\n "description": "Value for value state.",\n "type": "string"\n }\n },\n "required": [\n "name",\n "value_state",\n "value_sha256"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n }\n },\n "required": [\n "cookies",\n "local_storage",\n "session_storage"\n ],\n "type": "object"\n }\n },\n "required": [\n "state",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "not_requested",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "state": {\n "const": "missing",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "observed": {\n "description": "Value for observed.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "retained": {\n "description": "Value for retained.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "state": {\n "const": "truncated",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "observed",\n "retained",\n "reason"\n ],\n "type": "object"\n }\n ]\n },\n "url": {\n "description": "Value for url.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "captured",\n "description": "Value for state.",\n "type": "string"\n },\n "value": {\n "description": "Value for value.",\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "query_parameter_names": {\n "description": "Value for query parameter names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "description": "Value for redacted.",\n "type": "boolean"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n }\n },\n "required": [\n "state",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "not_requested",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "state": {\n "const": "missing",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "observed": {\n "description": "Value for observed.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "retained": {\n "description": "Value for retained.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "state": {\n "const": "truncated",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "observed",\n "retained",\n "reason"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "screenshot",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage"\n ],\n "type": "object"\n },\n "before_url": {\n "description": "Value for before url.",\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "query_parameter_names": {\n "description": "Value for query parameter names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "description": "Value for redacted.",\n "type": "boolean"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n },\n "completeness": {\n "description": "Value for completeness.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "equality_eligible": {\n "const": true,\n "description": "Value for equality eligible.",\n "type": "boolean"\n },\n "missing_sections": {\n "description": "Value for missing sections.",\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "status": {\n "const": "complete",\n "description": "Current lifecycle or verification status.",\n "type": "string"\n },\n "truncated_sections": {\n "description": "Value for truncated sections.",\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n }\n },\n "required": [\n "status",\n "equality_eligible",\n "missing_sections",\n "truncated_sections"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "equality_eligible": {\n "const": false,\n "description": "Value for equality eligible.",\n "type": "boolean"\n },\n "missing_sections": {\n "description": "Value for missing sections.",\n "items": {\n "enum": [\n "action",\n "screenshot",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage",\n "events",\n "frames",\n "workers",\n "popups",\n "websockets"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "status": {\n "const": "incomplete",\n "description": "Current lifecycle or verification status.",\n "type": "string"\n },\n "truncated_sections": {\n "description": "Value for truncated sections.",\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n }\n },\n "required": [\n "status",\n "equality_eligible",\n "missing_sections",\n "truncated_sections"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "equality_eligible": {\n "const": false,\n "description": "Value for equality eligible.",\n "type": "boolean"\n },\n "missing_sections": {\n "description": "Value for missing sections.",\n "items": {\n "enum": [\n "action",\n "screenshot",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage",\n "events",\n "frames",\n "workers",\n "popups",\n "websockets"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "status": {\n "const": "truncated",\n "description": "Current lifecycle or verification status.",\n "type": "string"\n },\n "truncated_sections": {\n "description": "Value for truncated sections.",\n "items": {\n "enum": [\n "action",\n "screenshot",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage",\n "events",\n "frames",\n "workers",\n "popups",\n "websockets"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "status",\n "equality_eligible",\n "missing_sections",\n "truncated_sections"\n ],\n "type": "object"\n }\n ]\n },\n "elapsed_ms": {\n "description": "Value for elapsed ms.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "error": {\n "description": "Structured, caller-actionable error when the operation fails.",\n "type": "null"\n },\n "event_sequence_end": {\n "description": "Value for event sequence end.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "event_sequence_start": {\n "description": "Value for event sequence start.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "status": {\n "const": "completed",\n "description": "Current lifecycle or verification status.",\n "type": "string"\n },\n "step_id": {\n "description": "Value for step id.",\n "minLength": 1,\n "type": "string"\n },\n "step_index": {\n "description": "Value for step index.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "step_index",\n "step_id",\n "action",\n "elapsed_ms",\n "before_url",\n "after_url",\n "event_sequence_start",\n "event_sequence_end",\n "artifacts",\n "completeness",\n "status",\n "error"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "action": {\n "description": "Value for action.",\n "minLength": 1,\n "type": "string"\n },\n "after_url": {\n "description": "Value for after url.",\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "query_parameter_names": {\n "description": "Value for query parameter names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "description": "Value for redacted.",\n "type": "boolean"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n },\n "artifacts": {\n "additionalProperties": false,\n "description": "Value for artifacts.",\n "properties": {\n "accessibility": {\n "description": "Value for accessibility.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "captured",\n "description": "Value for state.",\n "type": "string"\n },\n "value": {\n "additionalProperties": false,\n "description": "Value for value.",\n "properties": {\n "bytes": {\n "description": "Value for bytes.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "text": {\n "description": "Value for text.",\n "type": "string"\n }\n },\n "required": [\n "sha256",\n "bytes",\n "text"\n ],\n "type": "object"\n }\n },\n "required": [\n "state",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "not_requested",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "state": {\n "const": "missing",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "observed": {\n "description": "Value for observed.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "retained": {\n "description": "Value for retained.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "state": {\n "const": "truncated",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "observed",\n "retained",\n "reason"\n ],\n "type": "object"\n }\n ]\n },\n "dom": {\n "description": "Value for dom.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "captured",\n "description": "Value for state.",\n "type": "string"\n },\n "value": {\n "additionalProperties": false,\n "description": "Value for value.",\n "properties": {\n "bytes": {\n "description": "Value for bytes.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "text": {\n "description": "Value for text.",\n "type": "string"\n }\n },\n "required": [\n "sha256",\n "bytes",\n "text"\n ],\n "type": "object"\n }\n },\n "required": [\n "state",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "not_requested",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "state": {\n "const": "missing",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "observed": {\n "description": "Value for observed.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "retained": {\n "description": "Value for retained.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "state": {\n "const": "truncated",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "observed",\n "retained",\n "reason"\n ],\n "type": "object"\n }\n ]\n },\n "history": {\n "description": "Value for history.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "captured",\n "description": "Value for state.",\n "type": "string"\n },\n "value": {\n "additionalProperties": false,\n "description": "Value for value.",\n "properties": {\n "current_url": {\n "description": "Value for current url.",\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "query_parameter_names": {\n "description": "Value for query parameter names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "description": "Value for redacted.",\n "type": "boolean"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n },\n "length": {\n "description": "Value for length.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "navigation_entries": {\n "description": "Value for navigation entries.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "description": "Exact name used by this operation.",\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "query_parameter_names": {\n "description": "Value for query parameter names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "description": "Value for redacted.",\n "type": "boolean"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n },\n "type": {\n "description": "Value for type.",\n "enum": [\n "navigate",\n "reload",\n "back_forward",\n "prerender",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "type",\n "name"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "length",\n "current_url",\n "navigation_entries"\n ],\n "type": "object"\n }\n },\n "required": [\n "state",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "not_requested",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "state": {\n "const": "missing",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "observed": {\n "description": "Value for observed.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "retained": {\n "description": "Value for retained.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "state": {\n "const": "truncated",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "observed",\n "retained",\n "reason"\n ],\n "type": "object"\n }\n ]\n },\n "screenshot": {\n "description": "Value for screenshot.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "captured",\n "description": "Value for state.",\n "type": "string"\n },\n "value": {\n "description": "Value for value.",\n "properties": {\n "bytes": {\n "description": "Value for bytes.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "data_base64": {\n "description": "Value for data base64.",\n "type": "string"\n },\n "media_type": {\n "const": "image/png",\n "description": "Value for media type.",\n "type": "string"\n },\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256",\n "bytes",\n "media_type",\n "data_base64"\n ],\n "type": "object"\n }\n },\n "required": [\n "state",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "not_requested",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "state": {\n "const": "missing",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "observed": {\n "description": "Value for observed.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "retained": {\n "description": "Value for retained.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "state": {\n "const": "truncated",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "observed",\n "retained",\n "reason"\n ],\n "type": "object"\n }\n ]\n },\n "storage": {\n "description": "Value for storage.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "captured",\n "description": "Value for state.",\n "type": "string"\n },\n "value": {\n "additionalProperties": false,\n "description": "Value for value.",\n "properties": {\n "cookies": {\n "description": "Value for cookies.",\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "domain": {\n "description": "Value for domain.",\n "type": "string"\n },\n "http_only": {\n "description": "Value for http only.",\n "type": "boolean"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "type": "string"\n },\n "same_site": {\n "description": "Value for same site.",\n "enum": [\n "Strict",\n "Lax",\n "None"\n ],\n "type": "string"\n },\n "secure": {\n "description": "Value for secure.",\n "type": "boolean"\n },\n "value_sha256": {\n "description": "Exact SHA-256 digest of value.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "value_state": {\n "const": "hashed",\n "description": "Value for value state.",\n "type": "string"\n }\n },\n "required": [\n "name",\n "domain",\n "path",\n "secure",\n "http_only",\n "same_site",\n "value_state",\n "value_sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "domain": {\n "description": "Value for domain.",\n "type": "string"\n },\n "http_only": {\n "description": "Value for http only.",\n "type": "boolean"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "type": "string"\n },\n "same_site": {\n "description": "Value for same site.",\n "enum": [\n "Strict",\n "Lax",\n "None"\n ],\n "type": "string"\n },\n "secure": {\n "description": "Value for secure.",\n "type": "boolean"\n },\n "value_sha256": {\n "description": "Exact SHA-256 digest of value.",\n "type": "null"\n },\n "value_state": {\n "const": "redacted-secret",\n "description": "Value for value state.",\n "type": "string"\n }\n },\n "required": [\n "name",\n "domain",\n "path",\n "secure",\n "http_only",\n "same_site",\n "value_state",\n "value_sha256"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "local_storage": {\n "description": "Value for local storage.",\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "name": {\n "description": "Exact name used by this operation.",\n "type": "string"\n },\n "value_sha256": {\n "description": "Exact SHA-256 digest of value.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "value_state": {\n "const": "hashed",\n "description": "Value for value state.",\n "type": "string"\n }\n },\n "required": [\n "name",\n "value_state",\n "value_sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "name": {\n "description": "Exact name used by this operation.",\n "type": "string"\n },\n "value_sha256": {\n "description": "Exact SHA-256 digest of value.",\n "type": "null"\n },\n "value_state": {\n "const": "redacted-secret",\n "description": "Value for value state.",\n "type": "string"\n }\n },\n "required": [\n "name",\n "value_state",\n "value_sha256"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "session_storage": {\n "description": "Value for session storage.",\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "name": {\n "description": "Exact name used by this operation.",\n "type": "string"\n },\n "value_sha256": {\n "description": "Exact SHA-256 digest of value.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "value_state": {\n "const": "hashed",\n "description": "Value for value state.",\n "type": "string"\n }\n },\n "required": [\n "name",\n "value_state",\n "value_sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "name": {\n "description": "Exact name used by this operation.",\n "type": "string"\n },\n "value_sha256": {\n "description": "Exact SHA-256 digest of value.",\n "type": "null"\n },\n "value_state": {\n "const": "redacted-secret",\n "description": "Value for value state.",\n "type": "string"\n }\n },\n "required": [\n "name",\n "value_state",\n "value_sha256"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n }\n },\n "required": [\n "cookies",\n "local_storage",\n "session_storage"\n ],\n "type": "object"\n }\n },\n "required": [\n "state",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "not_requested",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "state": {\n "const": "missing",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "observed": {\n "description": "Value for observed.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "retained": {\n "description": "Value for retained.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "state": {\n "const": "truncated",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "observed",\n "retained",\n "reason"\n ],\n "type": "object"\n }\n ]\n },\n "url": {\n "description": "Value for url.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "captured",\n "description": "Value for state.",\n "type": "string"\n },\n "value": {\n "description": "Value for value.",\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "query_parameter_names": {\n "description": "Value for query parameter names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "description": "Value for redacted.",\n "type": "boolean"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n }\n },\n "required": [\n "state",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "not_requested",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "state": {\n "const": "missing",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "observed": {\n "description": "Value for observed.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "retained": {\n "description": "Value for retained.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "state": {\n "const": "truncated",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "observed",\n "retained",\n "reason"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "screenshot",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage"\n ],\n "type": "object"\n },\n "before_url": {\n "description": "Value for before url.",\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "query_parameter_names": {\n "description": "Value for query parameter names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "description": "Value for redacted.",\n "type": "boolean"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n },\n "completeness": {\n "description": "Value for completeness.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "equality_eligible": {\n "const": true,\n "description": "Value for equality eligible.",\n "type": "boolean"\n },\n "missing_sections": {\n "description": "Value for missing sections.",\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "status": {\n "const": "complete",\n "description": "Current lifecycle or verification status.",\n "type": "string"\n },\n "truncated_sections": {\n "description": "Value for truncated sections.",\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n }\n },\n "required": [\n "status",\n "equality_eligible",\n "missing_sections",\n "truncated_sections"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "equality_eligible": {\n "const": false,\n "description": "Value for equality eligible.",\n "type": "boolean"\n },\n "missing_sections": {\n "description": "Value for missing sections.",\n "items": {\n "enum": [\n "action",\n "screenshot",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage",\n "events",\n "frames",\n "workers",\n "popups",\n "websockets"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "status": {\n "const": "incomplete",\n "description": "Current lifecycle or verification status.",\n "type": "string"\n },\n "truncated_sections": {\n "description": "Value for truncated sections.",\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n }\n },\n "required": [\n "status",\n "equality_eligible",\n "missing_sections",\n "truncated_sections"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "equality_eligible": {\n "const": false,\n "description": "Value for equality eligible.",\n "type": "boolean"\n },\n "missing_sections": {\n "description": "Value for missing sections.",\n "items": {\n "enum": [\n "action",\n "screenshot",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage",\n "events",\n "frames",\n "workers",\n "popups",\n "websockets"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "status": {\n "const": "truncated",\n "description": "Current lifecycle or verification status.",\n "type": "string"\n },\n "truncated_sections": {\n "description": "Value for truncated sections.",\n "items": {\n "enum": [\n "action",\n "screenshot",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage",\n "events",\n "frames",\n "workers",\n "popups",\n "websockets"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "status",\n "equality_eligible",\n "missing_sections",\n "truncated_sections"\n ],\n "type": "object"\n }\n ]\n },\n "elapsed_ms": {\n "description": "Value for elapsed ms.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "error": {\n "description": "Structured, caller-actionable error when the operation fails.",\n "type": "string"\n },\n "event_sequence_end": {\n "description": "Value for event sequence end.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "event_sequence_start": {\n "description": "Value for event sequence start.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "status": {\n "description": "Current lifecycle or verification status.",\n "enum": [\n "failed",\n "cancelled"\n ],\n "type": "string"\n },\n "step_id": {\n "description": "Value for step id.",\n "minLength": 1,\n "type": "string"\n },\n "step_index": {\n "description": "Value for step index.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "step_index",\n "step_id",\n "action",\n "elapsed_ms",\n "before_url",\n "after_url",\n "event_sequence_start",\n "event_sequence_end",\n "artifacts",\n "completeness",\n "status",\n "error"\n ],\n "type": "object"\n }\n ]\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "browser",\n "scenario",\n "duration_ms",\n "steps",\n "events",\n "completeness",\n "limitations"\n ],\n "type": "object"\n },\n "normalization": {\n "additionalProperties": false,\n "description": "Exact-literal normalization policy.",\n "properties": {\n "rules": {\n "default": [],\n "description": "Value for rules.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "artifacts": {\n "description": "Artifact families whose durable string fields use this rule.",\n "items": {\n "enum": [\n "action_state",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage",\n "events"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "match": {\n "description": "Exact public literal to replace; regular expressions are not used.",\n "minLength": 1,\n "type": "string"\n },\n "replacement": {\n "description": "Recorded replacement text used in normalized comparison.",\n "type": "string"\n },\n "rule_id": {\n "description": "Stable rule identity; rules execute in rule_id order.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "rule_id",\n "artifacts",\n "match",\n "replacement"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "type": "object"\n }\n },\n "type": "object"\n },\n "kind": "browser-provider",\n "name": "compare_web_captures",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "alignment": {\n "additionalProperties": false,\n "properties": {\n "after_only": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "aligned_steps": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "before_only": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "failures": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "code": {\n "enum": [\n "duplicate_before_step_id",\n "duplicate_after_step_id",\n "missing_before_step",\n "missing_after_step",\n "action_mismatch",\n "capture_context_mismatch"\n ],\n "type": "string"\n },\n "reason": {\n "minLength": 1,\n "type": "string"\n },\n "step_id": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "code",\n "step_id",\n "reason"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "status": {\n "enum": [\n "aligned",\n "partial",\n "failed"\n ],\n "type": "string"\n }\n },\n "required": [\n "status",\n "aligned_steps",\n "before_only",\n "after_only",\n "failures"\n ],\n "type": "object"\n },\n "artifact_diffs": {\n "additionalProperties": false,\n "properties": {\n "total": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "total"\n ],\n "type": "object"\n },\n "comparison_kind": {\n "const": "browser_scenario",\n "type": "string"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "normalization": {\n "additionalProperties": false,\n "properties": {\n "built_in_rules": {\n "items": {\n "enum": [\n "ignore_step_elapsed_ms",\n "ignore_event_sequence",\n "ignore_event_step_index",\n "compare_screenshot_content_digest",\n "compare_normalized_text_content"\n ],\n "type": "string"\n },\n "maxItems": 5,\n "minItems": 5,\n "type": "array"\n },\n "rules": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "artifacts": {\n "description": "Artifact families whose durable string fields use this rule.",\n "items": {\n "enum": [\n "action_state",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage",\n "events"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "match": {\n "description": "Exact public literal to replace; regular expressions are not used.",\n "minLength": 1,\n "type": "string"\n },\n "replacement": {\n "description": "Recorded replacement text used in normalized comparison.",\n "type": "string"\n },\n "rule_id": {\n "description": "Stable rule identity; rules execute in rule_id order.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "rule_id",\n "artifacts",\n "match",\n "replacement"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "built_in_rules",\n "rules",\n "sha256"\n ],\n "type": "object"\n },\n "overall_status": {\n "enum": [\n "changed",\n "unchanged",\n "unknown"\n ],\n "type": "string"\n },\n "steps": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "after_action": {\n "minLength": 1,\n "type": "string"\n },\n "after_step_index": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "artifact_diffs": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "after_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "after_state": {\n "enum": [\n "captured",\n "not_requested",\n "missing",\n "truncated"\n ],\n "type": "string"\n },\n "artifact": {\n "enum": [\n "action_state",\n "screenshot",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage",\n "events"\n ],\n "type": "string"\n },\n "before_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "before_state": {\n "enum": [\n "captured",\n "not_requested",\n "missing",\n "truncated"\n ],\n "type": "string"\n },\n "reason": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "enum": [\n "changed",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "artifact",\n "status",\n "before_state",\n "after_state",\n "before_sha256",\n "after_sha256",\n "reason"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "before_action": {\n "minLength": 1,\n "type": "string"\n },\n "before_step_index": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "status": {\n "enum": [\n "changed",\n "unchanged",\n "unknown"\n ],\n "type": "string"\n },\n "step_id": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "step_id",\n "before_step_index",\n "after_step_index",\n "before_action",\n "after_action",\n "status",\n "artifact_diffs"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "comparison_kind",\n "overall_status",\n "normalization",\n "alignment",\n "steps",\n "artifact_diffs",\n "limitations"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "after_target": {\n "additionalProperties": false,\n "properties": {\n "target_id": {\n "type": "string"\n },\n "url": {\n "type": "string"\n }\n },\n "required": [\n "target_id",\n "url"\n ],\n "type": "object"\n },\n "before_target": {\n "additionalProperties": false,\n "properties": {\n "target_id": {\n "type": "string"\n },\n "url": {\n "type": "string"\n }\n },\n "required": [\n "target_id",\n "url"\n ],\n "type": "object"\n },\n "dimensions": {\n "additionalProperties": false,\n "properties": {\n "accessibility": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "changes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "change": {\n "enum": [\n "added",\n "removed",\n "modified"\n ],\n "type": "string"\n },\n "identity": {\n "type": "string"\n }\n },\n "required": [\n "identity",\n "change"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "reason": {\n "type": "null"\n },\n "status": {\n "const": "changed",\n "type": "string"\n },\n "total_changes": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "status",\n "total_changes",\n "changes",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "changes": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "reason": {\n "type": "null"\n },\n "status": {\n "const": "unchanged",\n "type": "string"\n },\n "total_changes": {\n "const": 0,\n "type": "number"\n }\n },\n "required": [\n "total_changes",\n "changes",\n "status",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "changes": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "reason": {\n "type": "string"\n },\n "status": {\n "const": "unknown",\n "type": "string"\n },\n "total_changes": {\n "const": 0,\n "type": "number"\n }\n },\n "required": [\n "total_changes",\n "changes",\n "status",\n "reason"\n ],\n "type": "object"\n }\n ],\n "default": {\n "changes": [],\n "reason": "Dimension was not recorded by this version 1 capture diff.",\n "status": "unknown",\n "total_changes": 0\n }\n },\n "dom_structure": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "changes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "change": {\n "enum": [\n "added",\n "removed",\n "modified"\n ],\n "type": "string"\n },\n "identity": {\n "type": "string"\n }\n },\n "required": [\n "identity",\n "change"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "reason": {\n "type": "null"\n },\n "status": {\n "const": "changed",\n "type": "string"\n },\n "total_changes": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "status",\n "total_changes",\n "changes",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "changes": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "reason": {\n "type": "null"\n },\n "status": {\n "const": "unchanged",\n "type": "string"\n },\n "total_changes": {\n "const": 0,\n "type": "number"\n }\n },\n "required": [\n "total_changes",\n "changes",\n "status",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "changes": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "reason": {\n "type": "string"\n },\n "status": {\n "const": "unknown",\n "type": "string"\n },\n "total_changes": {\n "const": 0,\n "type": "number"\n }\n },\n "required": [\n "total_changes",\n "changes",\n "status",\n "reason"\n ],\n "type": "object"\n }\n ]\n },\n "metadata": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "changes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "change": {\n "enum": [\n "added",\n "removed",\n "modified"\n ],\n "type": "string"\n },\n "identity": {\n "type": "string"\n }\n },\n "required": [\n "identity",\n "change"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "reason": {\n "type": "null"\n },\n "status": {\n "const": "changed",\n "type": "string"\n },\n "total_changes": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "status",\n "total_changes",\n "changes",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "changes": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "reason": {\n "type": "null"\n },\n "status": {\n "const": "unchanged",\n "type": "string"\n },\n "total_changes": {\n "const": 0,\n "type": "number"\n }\n },\n "required": [\n "total_changes",\n "changes",\n "status",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "changes": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "reason": {\n "type": "string"\n },\n "status": {\n "const": "unknown",\n "type": "string"\n },\n "total_changes": {\n "const": 0,\n "type": "number"\n }\n },\n "required": [\n "total_changes",\n "changes",\n "status",\n "reason"\n ],\n "type": "object"\n }\n ]\n },\n "network": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "changes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "change": {\n "enum": [\n "added",\n "removed",\n "modified"\n ],\n "type": "string"\n },\n "identity": {\n "type": "string"\n }\n },\n "required": [\n "identity",\n "change"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "reason": {\n "type": "null"\n },\n "status": {\n "const": "changed",\n "type": "string"\n },\n "total_changes": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "status",\n "total_changes",\n "changes",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "changes": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "reason": {\n "type": "null"\n },\n "status": {\n "const": "unchanged",\n "type": "string"\n },\n "total_changes": {\n "const": 0,\n "type": "number"\n }\n },\n "required": [\n "total_changes",\n "changes",\n "status",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "changes": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "reason": {\n "type": "string"\n },\n "status": {\n "const": "unknown",\n "type": "string"\n },\n "total_changes": {\n "const": 0,\n "type": "number"\n }\n },\n "required": [\n "total_changes",\n "changes",\n "status",\n "reason"\n ],\n "type": "object"\n }\n ]\n },\n "resources": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "changes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "change": {\n "enum": [\n "added",\n "removed",\n "modified"\n ],\n "type": "string"\n },\n "identity": {\n "type": "string"\n }\n },\n "required": [\n "identity",\n "change"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "reason": {\n "type": "null"\n },\n "status": {\n "const": "changed",\n "type": "string"\n },\n "total_changes": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "status",\n "total_changes",\n "changes",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "changes": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "reason": {\n "type": "null"\n },\n "status": {\n "const": "unchanged",\n "type": "string"\n },\n "total_changes": {\n "const": 0,\n "type": "number"\n }\n },\n "required": [\n "total_changes",\n "changes",\n "status",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "changes": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "reason": {\n "type": "string"\n },\n "status": {\n "const": "unknown",\n "type": "string"\n },\n "total_changes": {\n "const": 0,\n "type": "number"\n }\n },\n "required": [\n "total_changes",\n "changes",\n "status",\n "reason"\n ],\n "type": "object"\n }\n ]\n },\n "scripts": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "changes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "change": {\n "enum": [\n "added",\n "removed",\n "modified"\n ],\n "type": "string"\n },\n "identity": {\n "type": "string"\n }\n },\n "required": [\n "identity",\n "change"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "reason": {\n "type": "null"\n },\n "status": {\n "const": "changed",\n "type": "string"\n },\n "total_changes": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "status",\n "total_changes",\n "changes",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "changes": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "reason": {\n "type": "null"\n },\n "status": {\n "const": "unchanged",\n "type": "string"\n },\n "total_changes": {\n "const": 0,\n "type": "number"\n }\n },\n "required": [\n "total_changes",\n "changes",\n "status",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "changes": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "reason": {\n "type": "string"\n },\n "status": {\n "const": "unknown",\n "type": "string"\n },\n "total_changes": {\n "const": 0,\n "type": "number"\n }\n },\n "required": [\n "total_changes",\n "changes",\n "status",\n "reason"\n ],\n "type": "object"\n }\n ]\n },\n "storage": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "changes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "change": {\n "enum": [\n "added",\n "removed",\n "modified"\n ],\n "type": "string"\n },\n "identity": {\n "type": "string"\n }\n },\n "required": [\n "identity",\n "change"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "reason": {\n "type": "null"\n },\n "status": {\n "const": "changed",\n "type": "string"\n },\n "total_changes": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "status",\n "total_changes",\n "changes",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "changes": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "reason": {\n "type": "null"\n },\n "status": {\n "const": "unchanged",\n "type": "string"\n },\n "total_changes": {\n "const": 0,\n "type": "number"\n }\n },\n "required": [\n "total_changes",\n "changes",\n "status",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "changes": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "reason": {\n "type": "string"\n },\n "status": {\n "const": "unknown",\n "type": "string"\n },\n "total_changes": {\n "const": 0,\n "type": "number"\n }\n },\n "required": [\n "total_changes",\n "changes",\n "status",\n "reason"\n ],\n "type": "object"\n }\n ],\n "default": {\n "changes": [],\n "reason": "Dimension was not recorded by this version 1 capture diff.",\n "status": "unknown",\n "total_changes": 0\n }\n },\n "webmcp": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "changes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "change": {\n "enum": [\n "added",\n "removed",\n "modified"\n ],\n "type": "string"\n },\n "identity": {\n "type": "string"\n }\n },\n "required": [\n "identity",\n "change"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "reason": {\n "type": "null"\n },\n "status": {\n "const": "changed",\n "type": "string"\n },\n "total_changes": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "status",\n "total_changes",\n "changes",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "changes": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "reason": {\n "type": "null"\n },\n "status": {\n "const": "unchanged",\n "type": "string"\n },\n "total_changes": {\n "const": 0,\n "type": "number"\n }\n },\n "required": [\n "total_changes",\n "changes",\n "status",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "changes": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "reason": {\n "type": "string"\n },\n "status": {\n "const": "unknown",\n "type": "string"\n },\n "total_changes": {\n "const": 0,\n "type": "number"\n }\n },\n "required": [\n "total_changes",\n "changes",\n "status",\n "reason"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "dom_structure",\n "scripts",\n "resources",\n "network",\n "metadata",\n "webmcp",\n "accessibility",\n "storage"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "overall_status": {\n "enum": [\n "changed",\n "unchanged",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "overall_status",\n "before_target",\n "after_target",\n "dimensions",\n "limitations"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Compare Web Captures"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": true,\n "readOnlyHint": false\n },\n "description": "Capture the current visible viewport of one configured page as an inline, content-addressed PNG artifact. The operation never scrolls, navigates, or evaluates page JavaScript.",\n "effects": {\n "accessesNetwork": true,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "cdp_endpoint": "http://127.0.0.1:9222",\n "target_id": "TARGET_ID_FROM_LIST_BROWSER_TARGETS"\n }\n ],\n "properties": {\n "allowed_origins": {\n "description": "Value for allowed origins.",\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "cdp_endpoint": {\n "description": "Literal loopback Chrome DevTools Protocol endpoint.",\n "minLength": 1,\n "type": "string"\n },\n "target_id": {\n "description": "Exact CDP target identifier selected from the endpoint\'s target listing.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "cdp_endpoint",\n "target_id"\n ],\n "type": "object"\n },\n "kind": "browser-provider",\n "name": "capture_web_screenshot",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "artifact": {\n "additionalProperties": false,\n "properties": {\n "bytes": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "data_base64": {\n "type": "string"\n },\n "media_type": {\n "const": "image/png",\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256",\n "bytes",\n "media_type",\n "data_base64"\n ],\n "type": "object"\n },\n "browser": {\n "additionalProperties": false,\n "properties": {\n "js_version": {\n "type": "string"\n },\n "product": {\n "type": "string"\n },\n "protocol_version": {\n "type": "string"\n },\n "revision": {\n "type": "string"\n },\n "user_agent": {\n "type": "string"\n }\n },\n "required": [\n "product",\n "protocol_version",\n "revision",\n "user_agent",\n "js_version"\n ],\n "type": "object"\n },\n "captured_at": {\n "format": "date-time",\n "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))$",\n "type": "string"\n },\n "completeness": {\n "additionalProperties": false,\n "properties": {\n "attach_limited_sections": {\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "conditions": {\n "items": {\n "enum": [\n "complete_within_window",\n "policy_filtered",\n "attach_limited",\n "truncated"\n ],\n "type": "string"\n },\n "maxItems": 3,\n "minItems": 1,\n "type": "array"\n },\n "dropped_events": {\n "additionalProperties": false,\n "properties": {\n "console_events": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "network_requests": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "scripts": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "timeline_events": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "total": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "webmcp_tools": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "websocket_connections": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "websocket_frames": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "scripts",\n "network_requests",\n "console_events",\n "websocket_connections",\n "websocket_frames",\n "webmcp_tools",\n "timeline_events",\n "total"\n ],\n "type": "object"\n },\n "excluded": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "reason": {\n "enum": [\n "disallowed_origin",\n "unsupported_url",\n "unattributed_origin",\n "not_approved",\n "out_of_target_scope",\n "provider_unavailable",\n "invalid_protocol_value"\n ],\n "type": "string"\n },\n "section": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n }\n },\n "required": [\n "section",\n "reason",\n "count"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "policy_filtered_sections": {\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "status": {\n "enum": [\n "complete_within_window",\n "policy_filtered",\n "attach_limited",\n "truncated"\n ],\n "type": "string"\n },\n "truncated_sections": {\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "unavailable_sections": {\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n }\n },\n "required": [\n "status",\n "conditions",\n "policy_filtered_sections",\n "attach_limited_sections",\n "truncated_sections",\n "unavailable_sections",\n "excluded",\n "dropped_events"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "target": {\n "additionalProperties": false,\n "properties": {\n "origin": {\n "type": "string"\n },\n "target_id": {\n "type": "string"\n },\n "url": {\n "type": "string"\n }\n },\n "required": [\n "target_id",\n "url",\n "origin"\n ],\n "type": "object"\n },\n "viewport": {\n "additionalProperties": false,\n "properties": {\n "height": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "width": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "width",\n "height"\n ],\n "type": "object"\n }\n },\n "required": [\n "browser",\n "target",\n "captured_at",\n "viewport",\n "artifact",\n "completeness",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Capture Web Screenshot"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Compare two self-verifying PNG screenshot artifacts with local pixel metrics. Returns exact changed-pixel ratios and channel deltas without OCR or external services.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "after": {\n "bytes": 70,\n "data_base64": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8/5+hHgAHggJ/PzWvWQAAAABJRU5ErkJggg==",\n "media_type": "image/png",\n "sha256": "153cf6c9a526a63053a37b10234c2fd85df38887c2dc0a800d90abfa6631d01c"\n },\n "before": {\n "bytes": 70,\n "data_base64": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8/5+hHgAHggJ/PzWvWQAAAABJRU5ErkJggg==",\n "media_type": "image/png",\n "sha256": "153cf6c9a526a63053a37b10234c2fd85df38887c2dc0a800d90abfa6631d01c"\n },\n "channel_threshold": 0\n }\n ],\n "properties": {\n "after": {\n "description": "The later or right-hand observation to compare.",\n "properties": {\n "bytes": {\n "description": "Value for bytes.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "data_base64": {\n "description": "Value for data base64.",\n "type": "string"\n },\n "media_type": {\n "const": "image/png",\n "description": "Value for media type.",\n "type": "string"\n },\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256",\n "bytes",\n "media_type",\n "data_base64"\n ],\n "type": "object"\n },\n "before": {\n "description": "The earlier or left-hand observation to compare.",\n "properties": {\n "bytes": {\n "description": "Value for bytes.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "data_base64": {\n "description": "Value for data base64.",\n "type": "string"\n },\n "media_type": {\n "const": "image/png",\n "description": "Value for media type.",\n "type": "string"\n },\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256",\n "bytes",\n "media_type",\n "data_base64"\n ],\n "type": "object"\n },\n "channel_threshold": {\n "default": 0,\n "description": "Value for channel threshold.",\n "maximum": 255,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "before",\n "after"\n ],\n "type": "object"\n },\n "kind": "browser-provider",\n "name": "compare_web_screenshots",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "after": {\n "additionalProperties": false,\n "properties": {\n "height": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "width": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "width",\n "height"\n ],\n "type": "object"\n },\n "before": {\n "additionalProperties": false,\n "properties": {\n "height": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "width": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "width",\n "height"\n ],\n "type": "object"\n },\n "changed_pixels": {\n "const": 0,\n "type": "number"\n },\n "changed_ratio": {\n "const": 0,\n "type": "number"\n },\n "channel_threshold": {\n "maximum": 255,\n "minimum": 0,\n "type": "integer"\n },\n "compared_pixels": {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "maximum_channel_delta": {\n "maximum": 255,\n "minimum": 0,\n "type": "integer"\n },\n "mean_absolute_channel_delta": {\n "maximum": 255,\n "minimum": 0,\n "type": "number"\n },\n "status": {\n "const": "identical",\n "type": "string"\n }\n },\n "required": [\n "before",\n "after",\n "channel_threshold",\n "limitations",\n "status",\n "compared_pixels",\n "changed_pixels",\n "changed_ratio",\n "maximum_channel_delta",\n "mean_absolute_channel_delta"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "after": {\n "additionalProperties": false,\n "properties": {\n "height": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "width": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "width",\n "height"\n ],\n "type": "object"\n },\n "before": {\n "additionalProperties": false,\n "properties": {\n "height": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "width": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "width",\n "height"\n ],\n "type": "object"\n },\n "changed_pixels": {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n "changed_ratio": {\n "exclusiveMinimum": 0,\n "maximum": 1,\n "type": "number"\n },\n "channel_threshold": {\n "maximum": 255,\n "minimum": 0,\n "type": "integer"\n },\n "compared_pixels": {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "maximum_channel_delta": {\n "exclusiveMinimum": 0,\n "maximum": 255,\n "type": "integer"\n },\n "mean_absolute_channel_delta": {\n "exclusiveMinimum": 0,\n "maximum": 255,\n "type": "number"\n },\n "status": {\n "const": "different",\n "type": "string"\n }\n },\n "required": [\n "before",\n "after",\n "channel_threshold",\n "limitations",\n "status",\n "compared_pixels",\n "changed_pixels",\n "changed_ratio",\n "maximum_channel_delta",\n "mean_absolute_channel_delta"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "after": {\n "additionalProperties": false,\n "properties": {\n "height": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "width": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "width",\n "height"\n ],\n "type": "object"\n },\n "before": {\n "additionalProperties": false,\n "properties": {\n "height": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "width": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "width",\n "height"\n ],\n "type": "object"\n },\n "changed_pixels": {\n "type": "null"\n },\n "changed_ratio": {\n "type": "null"\n },\n "channel_threshold": {\n "maximum": 255,\n "minimum": 0,\n "type": "integer"\n },\n "compared_pixels": {\n "const": 0,\n "type": "number"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "maximum_channel_delta": {\n "type": "null"\n },\n "mean_absolute_channel_delta": {\n "type": "null"\n },\n "status": {\n "const": "dimension_mismatch",\n "type": "string"\n }\n },\n "required": [\n "before",\n "after",\n "channel_threshold",\n "limitations",\n "status",\n "compared_pixels",\n "changed_pixels",\n "changed_ratio",\n "maximum_channel_delta",\n "mean_absolute_channel_delta"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Compare Web Screenshots"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": true,\n "idempotentHint": false,\n "openWorldHint": true,\n "readOnlyHint": false\n },\n "description": "Run a controlled browser scenario when passive observation cannot exercise the application. Launch the selected executable or connect to a loopback CDP target, provide a start URL and actions, and select storage or artifacts when needed. Environment, empty storage, and a URL-only final capture are defaults. capture.network selects request_body, response_body, and header_values independently; selected content is returned inline with transaction and event references, byte digests, and explicit unavailable states. Credentials and declared secrets are redacted. Agents can run their own local fixture servers to control application responses. Actions run until completion or cancellation unless timeout_ms is set. Results are returned inline.",\n "effects": {\n "accessesNetwork": true,\n "changesUiState": true,\n "idempotent": false,\n "launchesProcess": true,\n "mayDiscardData": true,\n "mutatesSession": true,\n "mutatesTarget": true,\n "writesFilesystem": true\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "actions": [\n {\n "action": "wait_for_timeout",\n "duration_ms": 250,\n "step_id": "settle"\n }\n ],\n "browser": {\n "executable_path": "/opt/chromium/chrome",\n "mode": "launch"\n },\n "start_url": {\n "query": [],\n "url": "https://app.example.test/"\n }\n }\n ],\n "properties": {\n "actions": {\n "description": "Required sequence of explicit browser actions.",\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "action": {\n "const": "goto",\n "description": "Value for action.",\n "type": "string"\n },\n "destination": {\n "additionalProperties": false,\n "description": "Value for destination.",\n "properties": {\n "query": {\n "default": [],\n "description": "Non-empty feature or text query to investigate.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "value": {\n "description": "Value for value.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "source": {\n "const": "literal",\n "description": "Value for source.",\n "type": "string"\n },\n "value": {\n "description": "Value for value.",\n "type": "string"\n }\n },\n "required": [\n "source",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "secret_id": {\n "description": "Value for secret id.",\n "pattern": "^[A-Za-z][A-Za-z0-9._-]*$",\n "type": "string"\n },\n "source": {\n "const": "secret",\n "description": "Value for source.",\n "type": "string"\n }\n },\n "required": [\n "source",\n "secret_id"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "name",\n "value"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "url": {\n "description": "Value for url.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "url"\n ],\n "type": "object"\n },\n "step_id": {\n "description": "Value for step id.",\n "pattern": "^[A-Za-z][A-Za-z0-9._-]*$",\n "type": "string"\n },\n "timeout_ms": {\n "description": "Optional action deadline in milliseconds; omitted means wait until completion or request cancellation.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "wait_until": {\n "description": "Value for wait until.",\n "enum": [\n "commit",\n "domcontentloaded",\n "load"\n ],\n "type": "string"\n }\n },\n "required": [\n "step_id",\n "action",\n "destination",\n "wait_until"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "action": {\n "const": "click",\n "description": "Value for action.",\n "type": "string"\n },\n "button": {\n "default": "left",\n "description": "Value for button.",\n "enum": [\n "left",\n "middle",\n "right"\n ],\n "type": "string"\n },\n "click_count": {\n "default": 1,\n "description": "Value for click count.",\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n "locator": {\n "description": "Value for locator.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "test_id",\n "description": "Value for kind.",\n "type": "string"\n },\n "value": {\n "description": "Value for value.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "role",\n "description": "Value for kind.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "role": {\n "description": "Value for role.",\n "enum": [\n "button",\n "checkbox",\n "combobox",\n "dialog",\n "link",\n "listbox",\n "menuitem",\n "option",\n "radio",\n "slider",\n "spinbutton",\n "switch",\n "tab",\n "textbox"\n ],\n "type": "string"\n }\n },\n "required": [\n "kind",\n "role",\n "name"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "css",\n "description": "Value for kind.",\n "type": "string"\n },\n "selector": {\n "description": "Value for selector.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "selector"\n ],\n "type": "object"\n }\n ]\n },\n "step_id": {\n "description": "Value for step id.",\n "pattern": "^[A-Za-z][A-Za-z0-9._-]*$",\n "type": "string"\n },\n "timeout_ms": {\n "description": "Optional action deadline in milliseconds; omitted means wait until completion or request cancellation.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "step_id",\n "action",\n "locator"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "action": {\n "const": "fill",\n "description": "Value for action.",\n "type": "string"\n },\n "locator": {\n "description": "Value for locator.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "test_id",\n "description": "Value for kind.",\n "type": "string"\n },\n "value": {\n "description": "Value for value.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "role",\n "description": "Value for kind.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "role": {\n "description": "Value for role.",\n "enum": [\n "button",\n "checkbox",\n "combobox",\n "dialog",\n "link",\n "listbox",\n "menuitem",\n "option",\n "radio",\n "slider",\n "spinbutton",\n "switch",\n "tab",\n "textbox"\n ],\n "type": "string"\n }\n },\n "required": [\n "kind",\n "role",\n "name"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "css",\n "description": "Value for kind.",\n "type": "string"\n },\n "selector": {\n "description": "Value for selector.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "selector"\n ],\n "type": "object"\n }\n ]\n },\n "step_id": {\n "description": "Value for step id.",\n "pattern": "^[A-Za-z][A-Za-z0-9._-]*$",\n "type": "string"\n },\n "timeout_ms": {\n "description": "Optional action deadline in milliseconds; omitted means wait until completion or request cancellation.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "value": {\n "description": "Value for value.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "source": {\n "const": "literal",\n "description": "Value for source.",\n "type": "string"\n },\n "value": {\n "description": "Value for value.",\n "type": "string"\n }\n },\n "required": [\n "source",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "secret_id": {\n "description": "Value for secret id.",\n "pattern": "^[A-Za-z][A-Za-z0-9._-]*$",\n "type": "string"\n },\n "source": {\n "const": "secret",\n "description": "Value for source.",\n "type": "string"\n }\n },\n "required": [\n "source",\n "secret_id"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "step_id",\n "action",\n "locator",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "action": {\n "const": "press",\n "description": "Value for action.",\n "type": "string"\n },\n "key": {\n "description": "Value for key.",\n "minLength": 1,\n "type": "string"\n },\n "locator": {\n "description": "Value for locator.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "test_id",\n "description": "Value for kind.",\n "type": "string"\n },\n "value": {\n "description": "Value for value.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "role",\n "description": "Value for kind.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "role": {\n "description": "Value for role.",\n "enum": [\n "button",\n "checkbox",\n "combobox",\n "dialog",\n "link",\n "listbox",\n "menuitem",\n "option",\n "radio",\n "slider",\n "spinbutton",\n "switch",\n "tab",\n "textbox"\n ],\n "type": "string"\n }\n },\n "required": [\n "kind",\n "role",\n "name"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "css",\n "description": "Value for kind.",\n "type": "string"\n },\n "selector": {\n "description": "Value for selector.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "selector"\n ],\n "type": "object"\n }\n ]\n },\n "step_id": {\n "description": "Value for step id.",\n "pattern": "^[A-Za-z][A-Za-z0-9._-]*$",\n "type": "string"\n },\n "timeout_ms": {\n "description": "Optional action deadline in milliseconds; omitted means wait until completion or request cancellation.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "step_id",\n "action",\n "locator",\n "key"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "action": {\n "const": "select_option",\n "description": "Value for action.",\n "type": "string"\n },\n "locator": {\n "description": "Value for locator.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "test_id",\n "description": "Value for kind.",\n "type": "string"\n },\n "value": {\n "description": "Value for value.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "role",\n "description": "Value for kind.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "role": {\n "description": "Value for role.",\n "enum": [\n "button",\n "checkbox",\n "combobox",\n "dialog",\n "link",\n "listbox",\n "menuitem",\n "option",\n "radio",\n "slider",\n "spinbutton",\n "switch",\n "tab",\n "textbox"\n ],\n "type": "string"\n }\n },\n "required": [\n "kind",\n "role",\n "name"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "css",\n "description": "Value for kind.",\n "type": "string"\n },\n "selector": {\n "description": "Value for selector.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "selector"\n ],\n "type": "object"\n }\n ]\n },\n "step_id": {\n "description": "Value for step id.",\n "pattern": "^[A-Za-z][A-Za-z0-9._-]*$",\n "type": "string"\n },\n "timeout_ms": {\n "description": "Optional action deadline in milliseconds; omitted means wait until completion or request cancellation.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "value": {\n "description": "Value for value.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "source": {\n "const": "literal",\n "description": "Value for source.",\n "type": "string"\n },\n "value": {\n "description": "Value for value.",\n "type": "string"\n }\n },\n "required": [\n "source",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "secret_id": {\n "description": "Value for secret id.",\n "pattern": "^[A-Za-z][A-Za-z0-9._-]*$",\n "type": "string"\n },\n "source": {\n "const": "secret",\n "description": "Value for source.",\n "type": "string"\n }\n },\n "required": [\n "source",\n "secret_id"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "step_id",\n "action",\n "locator",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "action": {\n "description": "Value for action.",\n "enum": [\n "check",\n "uncheck"\n ],\n "type": "string"\n },\n "locator": {\n "description": "Value for locator.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "test_id",\n "description": "Value for kind.",\n "type": "string"\n },\n "value": {\n "description": "Value for value.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "role",\n "description": "Value for kind.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "role": {\n "description": "Value for role.",\n "enum": [\n "button",\n "checkbox",\n "combobox",\n "dialog",\n "link",\n "listbox",\n "menuitem",\n "option",\n "radio",\n "slider",\n "spinbutton",\n "switch",\n "tab",\n "textbox"\n ],\n "type": "string"\n }\n },\n "required": [\n "kind",\n "role",\n "name"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "css",\n "description": "Value for kind.",\n "type": "string"\n },\n "selector": {\n "description": "Value for selector.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "selector"\n ],\n "type": "object"\n }\n ]\n },\n "step_id": {\n "description": "Value for step id.",\n "pattern": "^[A-Za-z][A-Za-z0-9._-]*$",\n "type": "string"\n },\n "timeout_ms": {\n "description": "Optional action deadline in milliseconds; omitted means wait until completion or request cancellation.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "step_id",\n "action",\n "locator"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "action": {\n "const": "wait_for",\n "description": "Value for action.",\n "type": "string"\n },\n "locator": {\n "description": "Value for locator.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "test_id",\n "description": "Value for kind.",\n "type": "string"\n },\n "value": {\n "description": "Value for value.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "role",\n "description": "Value for kind.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "role": {\n "description": "Value for role.",\n "enum": [\n "button",\n "checkbox",\n "combobox",\n "dialog",\n "link",\n "listbox",\n "menuitem",\n "option",\n "radio",\n "slider",\n "spinbutton",\n "switch",\n "tab",\n "textbox"\n ],\n "type": "string"\n }\n },\n "required": [\n "kind",\n "role",\n "name"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "css",\n "description": "Value for kind.",\n "type": "string"\n },\n "selector": {\n "description": "Value for selector.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "selector"\n ],\n "type": "object"\n }\n ]\n },\n "state": {\n "description": "Value for state.",\n "enum": [\n "attached",\n "detached",\n "visible",\n "hidden"\n ],\n "type": "string"\n },\n "step_id": {\n "description": "Value for step id.",\n "pattern": "^[A-Za-z][A-Za-z0-9._-]*$",\n "type": "string"\n },\n "timeout_ms": {\n "description": "Optional action deadline in milliseconds; omitted means wait until completion or request cancellation.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "step_id",\n "action",\n "locator",\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "action": {\n "const": "wait_for_timeout",\n "description": "Value for action.",\n "type": "string"\n },\n "duration_ms": {\n "description": "Wait this many milliseconds; the wait ends early on cancellation.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "step_id": {\n "description": "Value for step id.",\n "pattern": "^[A-Za-z][A-Za-z0-9._-]*$",\n "type": "string"\n }\n },\n "required": [\n "step_id",\n "action",\n "duration_ms"\n ],\n "type": "object"\n }\n ]\n },\n "minItems": 1,\n "type": "array"\n },\n "browser": {\n "description": "Required launch/connect selection. Launch uses the selected executable and an owned temporary profile; connect uses one loopback CDP endpoint and target.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "executable_path": {\n "description": "Local filesystem path for executable.",\n "minLength": 1,\n "type": "string"\n },\n "headless": {\n "default": true,\n "description": "Run without a visible browser window; defaults to true and can be disabled when the host supports a display.",\n "type": "boolean"\n },\n "mode": {\n "const": "launch",\n "description": "Operation mode that selects the requested behavior.",\n "type": "string"\n }\n },\n "required": [\n "mode",\n "executable_path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "cdp_endpoint": {\n "description": "Literal loopback Chrome DevTools Protocol endpoint.",\n "minLength": 1,\n "type": "string"\n },\n "mode": {\n "const": "connect",\n "description": "Operation mode that selects the requested behavior.",\n "type": "string"\n },\n "target_id": {\n "description": "Exact CDP target identifier selected from the endpoint\'s target listing.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "mode",\n "cdp_endpoint",\n "target_id"\n ],\n "type": "object"\n }\n ]\n },\n "capture": {\n "additionalProperties": false,\n "default": {\n "after_each_step": [],\n "at_end": [\n "url"\n ],\n "events": [],\n "network": {\n "header_values": false,\n "request_body": false,\n "response_body": false\n }\n },\n "description": "Optional retained artifacts and event families. Defaults to only a final sanitized URL; request screenshots, DOM, accessibility, history, storage, and event capture explicitly.",\n "properties": {\n "after_each_step": {\n "default": [],\n "description": "Value for after each step.",\n "items": {\n "enum": [\n "screenshot",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "at_end": {\n "default": [\n "url"\n ],\n "description": "Value for at end.",\n "items": {\n "enum": [\n "screenshot",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "events": {\n "default": [],\n "description": "Value for events.",\n "items": {\n "enum": [\n "console",\n "page-errors",\n "network",\n "websockets",\n "frames",\n "workers",\n "popups",\n "downloads"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "network": {\n "additionalProperties": false,\n "default": {\n "header_values": false,\n "request_body": false,\n "response_body": false\n },\n "description": "Value for network.",\n "properties": {\n "header_values": {\n "default": false,\n "description": "Value for header values.",\n "type": "boolean"\n },\n "request_body": {\n "default": false,\n "description": "Value for request body.",\n "type": "boolean"\n },\n "response_body": {\n "default": false,\n "description": "Value for response body.",\n "type": "boolean"\n }\n },\n "type": "object"\n }\n },\n "type": "object"\n },\n "environment": {\n "additionalProperties": false,\n "default": {\n "color_scheme": "light",\n "locale": "en-US",\n "reduced_motion": "reduce",\n "service_workers": "block",\n "timezone": "UTC",\n "viewport": {\n "device_scale_factor": 1,\n "height": 720,\n "width": 1280\n }\n },\n "description": "Optional deterministic browser settings. Defaults to 1280x720, en-US, UTC, light mode, reduced motion, and blocked service workers.",\n "properties": {\n "color_scheme": {\n "default": "light",\n "description": "Value for color scheme.",\n "enum": [\n "light",\n "dark",\n "no-preference"\n ],\n "type": "string"\n },\n "locale": {\n "default": "en-US",\n "description": "Value for locale.",\n "minLength": 2,\n "pattern": "^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$",\n "type": "string"\n },\n "reduced_motion": {\n "default": "reduce",\n "description": "Value for reduced motion.",\n "enum": [\n "reduce",\n "no-preference"\n ],\n "type": "string"\n },\n "service_workers": {\n "default": "block",\n "description": "Value for service workers.",\n "enum": [\n "allow",\n "block"\n ],\n "type": "string"\n },\n "timezone": {\n "default": "UTC",\n "description": "Value for timezone.",\n "minLength": 1,\n "pattern": "^[A-Za-z0-9_+-]+(?:\\\\/[A-Za-z0-9_+-]+)*$",\n "type": "string"\n },\n "viewport": {\n "additionalProperties": false,\n "default": {\n "device_scale_factor": 1,\n "height": 720,\n "width": 1280\n },\n "description": "Value for viewport.",\n "properties": {\n "device_scale_factor": {\n "default": 1,\n "description": "Value for device scale factor.",\n "exclusiveMinimum": 0,\n "type": "number"\n },\n "height": {\n "default": 720,\n "description": "Value for height.",\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n "width": {\n "default": 1280,\n "description": "Value for width.",\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n }\n },\n "type": "object"\n }\n },\n "type": "object"\n },\n "secrets": {\n "default": [],\n "description": "Optional environment-variable references for values used in actions, URLs, storage, or replay, and for redacting matching observed text. Secret values are never supplied inline.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "environment_variable": {\n "description": "Value for environment variable.",\n "minLength": 1,\n "type": "string"\n },\n "secret_id": {\n "description": "Value for secret id.",\n "pattern": "^[A-Za-z][A-Za-z0-9._-]*$",\n "type": "string"\n }\n },\n "required": [\n "secret_id",\n "environment_variable"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "start_url": {\n "additionalProperties": false,\n "description": "Required initial HTTP(S) URL. Query values must be declared separately as public literals or secret references.",\n "properties": {\n "query": {\n "default": [],\n "description": "Non-empty feature or text query to investigate.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "value": {\n "description": "Value for value.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "source": {\n "const": "literal",\n "description": "Value for source.",\n "type": "string"\n },\n "value": {\n "description": "Value for value.",\n "type": "string"\n }\n },\n "required": [\n "source",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "secret_id": {\n "description": "Value for secret id.",\n "pattern": "^[A-Za-z][A-Za-z0-9._-]*$",\n "type": "string"\n },\n "source": {\n "const": "secret",\n "description": "Value for source.",\n "type": "string"\n }\n },\n "required": [\n "source",\n "secret_id"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "name",\n "value"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "url": {\n "description": "Value for url.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "url"\n ],\n "type": "object"\n },\n "storage": {\n "additionalProperties": false,\n "description": "Optional initial cookies, local storage, or session storage. Defaults to empty; every supplied value and origin must be declared and within the allowed origins.",\n "properties": {\n "cookies": {\n "description": "Value for cookies.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "destination": {\n "additionalProperties": false,\n "description": "Value for destination.",\n "properties": {\n "query": {\n "default": [],\n "description": "Non-empty feature or text query to investigate.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "value": {\n "description": "Value for value.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "source": {\n "const": "literal",\n "description": "Value for source.",\n "type": "string"\n },\n "value": {\n "description": "Value for value.",\n "type": "string"\n }\n },\n "required": [\n "source",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "secret_id": {\n "description": "Value for secret id.",\n "pattern": "^[A-Za-z][A-Za-z0-9._-]*$",\n "type": "string"\n },\n "source": {\n "const": "secret",\n "description": "Value for source.",\n "type": "string"\n }\n },\n "required": [\n "source",\n "secret_id"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "name",\n "value"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "url": {\n "description": "Value for url.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "url"\n ],\n "type": "object"\n },\n "http_only": {\n "description": "Value for http only.",\n "type": "boolean"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "same_site": {\n "description": "Value for same site.",\n "enum": [\n "Strict",\n "Lax",\n "None"\n ],\n "type": "string"\n },\n "secure": {\n "description": "Value for secure.",\n "type": "boolean"\n },\n "value": {\n "description": "Value for value.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "source": {\n "const": "literal",\n "description": "Value for source.",\n "type": "string"\n },\n "value": {\n "description": "Value for value.",\n "type": "string"\n }\n },\n "required": [\n "source",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "secret_id": {\n "description": "Value for secret id.",\n "pattern": "^[A-Za-z][A-Za-z0-9._-]*$",\n "type": "string"\n },\n "source": {\n "const": "secret",\n "description": "Value for source.",\n "type": "string"\n }\n },\n "required": [\n "source",\n "secret_id"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "name",\n "value",\n "destination",\n "http_only",\n "secure",\n "same_site"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "local_storage": {\n "description": "Value for local storage.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "entries": {\n "description": "Value for entries.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "value": {\n "description": "Value for value.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "source": {\n "const": "literal",\n "description": "Value for source.",\n "type": "string"\n },\n "value": {\n "description": "Value for value.",\n "type": "string"\n }\n },\n "required": [\n "source",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "secret_id": {\n "description": "Value for secret id.",\n "pattern": "^[A-Za-z][A-Za-z0-9._-]*$",\n "type": "string"\n },\n "source": {\n "const": "secret",\n "description": "Value for source.",\n "type": "string"\n }\n },\n "required": [\n "source",\n "secret_id"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "name",\n "value"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "origin": {\n "description": "Value for origin.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "origin",\n "entries"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "session_storage": {\n "description": "Value for session storage.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "entries": {\n "description": "Value for entries.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "value": {\n "description": "Value for value.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "source": {\n "const": "literal",\n "description": "Value for source.",\n "type": "string"\n },\n "value": {\n "description": "Value for value.",\n "type": "string"\n }\n },\n "required": [\n "source",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "secret_id": {\n "description": "Value for secret id.",\n "pattern": "^[A-Za-z][A-Za-z0-9._-]*$",\n "type": "string"\n },\n "source": {\n "const": "secret",\n "description": "Value for source.",\n "type": "string"\n }\n },\n "required": [\n "source",\n "secret_id"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "name",\n "value"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "origin": {\n "description": "Value for origin.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "origin",\n "entries"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "type": "object"\n }\n },\n "required": [\n "browser",\n "start_url",\n "actions"\n ],\n "type": "object"\n },\n "kind": "browser-provider",\n "name": "capture_browser_scenario",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "browser": {\n "additionalProperties": false,\n "properties": {\n "cleanup": {\n "enum": [\n "terminated-owned-process",\n "disconnected-external"\n ],\n "type": "string"\n },\n "mode": {\n "enum": [\n "launch",\n "connect"\n ],\n "type": "string"\n },\n "process_ownership": {\n "enum": [\n "provider-owned",\n "external"\n ],\n "type": "string"\n },\n "product": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "mode",\n "process_ownership",\n "cleanup",\n "product",\n "version"\n ],\n "type": "object"\n },\n "completeness": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "equality_eligible": {\n "const": true,\n "type": "boolean"\n },\n "missing_sections": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "status": {\n "const": "complete",\n "type": "string"\n },\n "truncated_sections": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n }\n },\n "required": [\n "status",\n "equality_eligible",\n "missing_sections",\n "truncated_sections"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "equality_eligible": {\n "const": false,\n "type": "boolean"\n },\n "missing_sections": {\n "items": {\n "enum": [\n "action",\n "screenshot",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage",\n "events",\n "frames",\n "workers",\n "popups",\n "websockets"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "status": {\n "const": "incomplete",\n "type": "string"\n },\n "truncated_sections": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n }\n },\n "required": [\n "status",\n "equality_eligible",\n "missing_sections",\n "truncated_sections"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "equality_eligible": {\n "const": false,\n "type": "boolean"\n },\n "missing_sections": {\n "items": {\n "enum": [\n "action",\n "screenshot",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage",\n "events",\n "frames",\n "workers",\n "popups",\n "websockets"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "status": {\n "const": "truncated",\n "type": "string"\n },\n "truncated_sections": {\n "items": {\n "enum": [\n "action",\n "screenshot",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage",\n "events",\n "frames",\n "workers",\n "popups",\n "websockets"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "status",\n "equality_eligible",\n "missing_sections",\n "truncated_sections"\n ],\n "type": "object"\n }\n ]\n },\n "duration_ms": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "events": {\n "additionalProperties": false,\n "properties": {\n "dropped": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "items": {\n "items": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "console",\n "type": "string"\n },\n "level": {\n "minLength": 1,\n "type": "string"\n },\n "sequence": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "step_index": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "text": {\n "type": "string"\n },\n "url": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "query_parameter_names": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "type": "boolean"\n },\n "url": {\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "sequence",\n "step_index",\n "kind",\n "level",\n "text",\n "url"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "page-error",\n "type": "string"\n },\n "message": {\n "type": "string"\n },\n "sequence": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "stack": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "step_index": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "sequence",\n "step_index",\n "kind",\n "message",\n "stack"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "failure": {\n "type": "null"\n },\n "header_names": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "kind": {\n "const": "request",\n "type": "string"\n },\n "method": {\n "minLength": 1,\n "type": "string"\n },\n "redirected_from_transaction_id": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "resource_type": {\n "minLength": 1,\n "type": "string"\n },\n "sequence": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "status": {\n "type": "null"\n },\n "step_index": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "transaction_id": {\n "minLength": 1,\n "type": "string"\n },\n "url": {\n "additionalProperties": false,\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "query_parameter_names": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "type": "boolean"\n },\n "url": {\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n }\n },\n "required": [\n "sequence",\n "step_index",\n "method",\n "url",\n "resource_type",\n "header_names",\n "kind",\n "status",\n "failure"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "failure": {\n "type": "null"\n },\n "header_names": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "kind": {\n "const": "response",\n "type": "string"\n },\n "method": {\n "minLength": 1,\n "type": "string"\n },\n "redirected_from_transaction_id": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "resource_type": {\n "minLength": 1,\n "type": "string"\n },\n "sequence": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "status": {\n "maximum": 599,\n "minimum": 100,\n "type": "integer"\n },\n "step_index": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "transaction_id": {\n "minLength": 1,\n "type": "string"\n },\n "url": {\n "additionalProperties": false,\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "query_parameter_names": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "type": "boolean"\n },\n "url": {\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n }\n },\n "required": [\n "sequence",\n "step_index",\n "method",\n "url",\n "resource_type",\n "header_names",\n "kind",\n "status",\n "failure"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "failure": {\n "minLength": 1,\n "type": "string"\n },\n "header_names": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "kind": {\n "const": "request-failed",\n "type": "string"\n },\n "method": {\n "minLength": 1,\n "type": "string"\n },\n "redirected_from_transaction_id": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "resource_type": {\n "minLength": 1,\n "type": "string"\n },\n "sequence": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "status": {\n "type": "null"\n },\n "step_index": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "transaction_id": {\n "minLength": 1,\n "type": "string"\n },\n "url": {\n "additionalProperties": false,\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "query_parameter_names": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "type": "boolean"\n },\n "url": {\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n }\n },\n "required": [\n "sequence",\n "step_index",\n "method",\n "url",\n "resource_type",\n "header_names",\n "kind",\n "status",\n "failure"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "failure": {\n "type": "null"\n },\n "header_names": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "kind": {\n "const": "request-finished",\n "type": "string"\n },\n "method": {\n "minLength": 1,\n "type": "string"\n },\n "redirected_from_transaction_id": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "resource_type": {\n "minLength": 1,\n "type": "string"\n },\n "sequence": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "status": {\n "type": "null"\n },\n "step_index": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "transaction_id": {\n "minLength": 1,\n "type": "string"\n },\n "url": {\n "additionalProperties": false,\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "query_parameter_names": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "type": "boolean"\n },\n "url": {\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n }\n },\n "required": [\n "sequence",\n "step_index",\n "method",\n "url",\n "resource_type",\n "header_names",\n "kind",\n "status",\n "failure"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "failure": {\n "type": "null"\n },\n "header_names": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "kind": {\n "const": "request-unfinished",\n "type": "string"\n },\n "method": {\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "enum": [\n "capture-ended",\n "cancelled"\n ],\n "type": "string"\n },\n "redirected_from_transaction_id": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "resource_type": {\n "minLength": 1,\n "type": "string"\n },\n "sequence": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "status": {\n "type": "null"\n },\n "step_index": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "transaction_id": {\n "minLength": 1,\n "type": "string"\n },\n "url": {\n "additionalProperties": false,\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "query_parameter_names": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "type": "boolean"\n },\n "url": {\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n }\n },\n "required": [\n "sequence",\n "step_index",\n "method",\n "url",\n "resource_type",\n "header_names",\n "kind",\n "status",\n "failure",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "body": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "not_requested",\n "type": "string"\n }\n },\n "required": [\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "not_exposed",\n "type": "string"\n }\n },\n "required": [\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "enum": [\n "request-failed",\n "response-unfinished",\n "body-read-failed",\n "body-read-timeout",\n "cancelled",\n "capture-ended"\n ],\n "type": "string"\n },\n "state": {\n "const": "unavailable",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason",\n "message"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "content": {\n "type": "string"\n },\n "encoding": {\n "const": "base64",\n "type": "string"\n },\n "media_type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "redacted": {\n "type": "boolean"\n },\n "representation": {\n "enum": [\n "browser-exposed-request-bytes",\n "browser-decoded-response-bytes"\n ],\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "state": {\n "const": "captured",\n "type": "string"\n }\n },\n "required": [\n "state",\n "representation",\n "encoding",\n "content",\n "bytes",\n "sha256",\n "media_type",\n "redacted"\n ],\n "type": "object"\n }\n ]\n },\n "headers": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "not_requested",\n "type": "string"\n }\n },\n "required": [\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "state": {\n "const": "unavailable",\n "type": "string"\n }\n },\n "required": [\n "state",\n "message"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "items": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "redacted": {\n "type": "boolean"\n },\n "value": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "name",\n "value",\n "redacted"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "state": {\n "const": "captured",\n "type": "string"\n }\n },\n "required": [\n "state",\n "items"\n ],\n "type": "object"\n }\n ]\n },\n "kind": {\n "const": "network-content",\n "type": "string"\n },\n "phase": {\n "enum": [\n "request",\n "response"\n ],\n "type": "string"\n },\n "sequence": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "source_event_sequence": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "step_index": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "transaction_id": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "sequence",\n "step_index",\n "kind",\n "transaction_id",\n "source_event_sequence",\n "phase",\n "headers",\n "body"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "enum": [\n "websocket-opened",\n "websocket-closed"\n ],\n "type": "string"\n },\n "sequence": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "step_index": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "url": {\n "additionalProperties": false,\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "query_parameter_names": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "type": "boolean"\n },\n "url": {\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n }\n },\n "required": [\n "sequence",\n "step_index",\n "kind",\n "url"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "enum": [\n "websocket-frame-sent",\n "websocket-frame-received"\n ],\n "type": "string"\n },\n "payload_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "payload_text": {\n "type": "string"\n },\n "payload_type": {\n "const": "text",\n "type": "string"\n },\n "sequence": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "step_index": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "truncated": {\n "type": "boolean"\n },\n "url": {\n "additionalProperties": false,\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "query_parameter_names": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "type": "boolean"\n },\n "url": {\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n }\n },\n "required": [\n "sequence",\n "step_index",\n "kind",\n "url",\n "payload_bytes",\n "truncated",\n "payload_type",\n "payload_text"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "enum": [\n "websocket-frame-sent",\n "websocket-frame-received"\n ],\n "type": "string"\n },\n "payload_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "payload_text": {\n "type": "null"\n },\n "payload_type": {\n "const": "binary",\n "type": "string"\n },\n "sequence": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "step_index": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "truncated": {\n "type": "boolean"\n },\n "url": {\n "additionalProperties": false,\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "query_parameter_names": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "type": "boolean"\n },\n "url": {\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n }\n },\n "required": [\n "sequence",\n "step_index",\n "kind",\n "url",\n "payload_bytes",\n "truncated",\n "payload_type",\n "payload_text"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "enum": [\n "frame-attached",\n "frame-detached",\n "frame-navigated",\n "worker-created",\n "worker-closed",\n "popup-opened",\n "popup-closed"\n ],\n "type": "string"\n },\n "name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "sequence": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "step_index": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "url": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "query_parameter_names": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "type": "boolean"\n },\n "url": {\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "sequence",\n "step_index",\n "kind",\n "url",\n "name"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "download-cancelled",\n "type": "string"\n },\n "sequence": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "step_index": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "suggested_filename": {\n "type": "string"\n },\n "url": {\n "additionalProperties": false,\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "query_parameter_names": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "type": "boolean"\n },\n "url": {\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n }\n },\n "required": [\n "sequence",\n "step_index",\n "kind",\n "suggested_filename",\n "url"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "retained": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "retained",\n "dropped",\n "items"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "scenario": {\n "additionalProperties": false,\n "properties": {\n "action_count": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "network_content": {\n "additionalProperties": false,\n "properties": {\n "header_values": {\n "default": false,\n "type": "boolean"\n },\n "request_body": {\n "default": false,\n "type": "boolean"\n },\n "response_body": {\n "default": false,\n "type": "boolean"\n }\n },\n "required": [\n "request_body",\n "response_body",\n "header_values"\n ],\n "type": "object"\n },\n "secret_references": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "start_origin": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "start_origin",\n "action_count",\n "secret_references"\n ],\n "type": "object"\n },\n "steps": {\n "items": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n },\n "after_url": {\n "additionalProperties": false,\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "query_parameter_names": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "type": "boolean"\n },\n "url": {\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n },\n "artifacts": {\n "additionalProperties": false,\n "properties": {\n "accessibility": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "captured",\n "type": "string"\n },\n "value": {\n "additionalProperties": false,\n "properties": {\n "bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "text": {\n "type": "string"\n }\n },\n "required": [\n "sha256",\n "bytes",\n "text"\n ],\n "type": "object"\n }\n },\n "required": [\n "state",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "not_requested",\n "type": "string"\n }\n },\n "required": [\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "minLength": 1,\n "type": "string"\n },\n "state": {\n "const": "missing",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "observed": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "reason": {\n "minLength": 1,\n "type": "string"\n },\n "retained": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "state": {\n "const": "truncated",\n "type": "string"\n }\n },\n "required": [\n "state",\n "observed",\n "retained",\n "reason"\n ],\n "type": "object"\n }\n ]\n },\n "dom": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "captured",\n "type": "string"\n },\n "value": {\n "additionalProperties": false,\n "properties": {\n "bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "text": {\n "type": "string"\n }\n },\n "required": [\n "sha256",\n "bytes",\n "text"\n ],\n "type": "object"\n }\n },\n "required": [\n "state",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "not_requested",\n "type": "string"\n }\n },\n "required": [\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "minLength": 1,\n "type": "string"\n },\n "state": {\n "const": "missing",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "observed": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "reason": {\n "minLength": 1,\n "type": "string"\n },\n "retained": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "state": {\n "const": "truncated",\n "type": "string"\n }\n },\n "required": [\n "state",\n "observed",\n "retained",\n "reason"\n ],\n "type": "object"\n }\n ]\n },\n "history": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "captured",\n "type": "string"\n },\n "value": {\n "additionalProperties": false,\n "properties": {\n "current_url": {\n "additionalProperties": false,\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "query_parameter_names": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "type": "boolean"\n },\n "url": {\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n },\n "length": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "navigation_entries": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "additionalProperties": false,\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "query_parameter_names": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "type": "boolean"\n },\n "url": {\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n },\n "type": {\n "enum": [\n "navigate",\n "reload",\n "back_forward",\n "prerender",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "type",\n "name"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "length",\n "current_url",\n "navigation_entries"\n ],\n "type": "object"\n }\n },\n "required": [\n "state",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "not_requested",\n "type": "string"\n }\n },\n "required": [\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "minLength": 1,\n "type": "string"\n },\n "state": {\n "const": "missing",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "observed": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "reason": {\n "minLength": 1,\n "type": "string"\n },\n "retained": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "state": {\n "const": "truncated",\n "type": "string"\n }\n },\n "required": [\n "state",\n "observed",\n "retained",\n "reason"\n ],\n "type": "object"\n }\n ]\n },\n "screenshot": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "captured",\n "type": "string"\n },\n "value": {\n "additionalProperties": false,\n "properties": {\n "bytes": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "data_base64": {\n "type": "string"\n },\n "media_type": {\n "const": "image/png",\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256",\n "bytes",\n "media_type",\n "data_base64"\n ],\n "type": "object"\n }\n },\n "required": [\n "state",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "not_requested",\n "type": "string"\n }\n },\n "required": [\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "minLength": 1,\n "type": "string"\n },\n "state": {\n "const": "missing",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "observed": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "reason": {\n "minLength": 1,\n "type": "string"\n },\n "retained": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "state": {\n "const": "truncated",\n "type": "string"\n }\n },\n "required": [\n "state",\n "observed",\n "retained",\n "reason"\n ],\n "type": "object"\n }\n ]\n },\n "storage": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "captured",\n "type": "string"\n },\n "value": {\n "additionalProperties": false,\n "properties": {\n "cookies": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "domain": {\n "type": "string"\n },\n "http_only": {\n "type": "boolean"\n },\n "name": {\n "type": "string"\n },\n "path": {\n "type": "string"\n },\n "same_site": {\n "enum": [\n "Strict",\n "Lax",\n "None"\n ],\n "type": "string"\n },\n "secure": {\n "type": "boolean"\n },\n "value_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "value_state": {\n "const": "hashed",\n "type": "string"\n }\n },\n "required": [\n "name",\n "domain",\n "path",\n "secure",\n "http_only",\n "same_site",\n "value_state",\n "value_sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "domain": {\n "type": "string"\n },\n "http_only": {\n "type": "boolean"\n },\n "name": {\n "type": "string"\n },\n "path": {\n "type": "string"\n },\n "same_site": {\n "enum": [\n "Strict",\n "Lax",\n "None"\n ],\n "type": "string"\n },\n "secure": {\n "type": "boolean"\n },\n "value_sha256": {\n "type": "null"\n },\n "value_state": {\n "const": "redacted-secret",\n "type": "string"\n }\n },\n "required": [\n "name",\n "domain",\n "path",\n "secure",\n "http_only",\n "same_site",\n "value_state",\n "value_sha256"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "local_storage": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "name": {\n "type": "string"\n },\n "value_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "value_state": {\n "const": "hashed",\n "type": "string"\n }\n },\n "required": [\n "name",\n "value_state",\n "value_sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "name": {\n "type": "string"\n },\n "value_sha256": {\n "type": "null"\n },\n "value_state": {\n "const": "redacted-secret",\n "type": "string"\n }\n },\n "required": [\n "name",\n "value_state",\n "value_sha256"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "session_storage": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "name": {\n "type": "string"\n },\n "value_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "value_state": {\n "const": "hashed",\n "type": "string"\n }\n },\n "required": [\n "name",\n "value_state",\n "value_sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "name": {\n "type": "string"\n },\n "value_sha256": {\n "type": "null"\n },\n "value_state": {\n "const": "redacted-secret",\n "type": "string"\n }\n },\n "required": [\n "name",\n "value_state",\n "value_sha256"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n }\n },\n "required": [\n "cookies",\n "local_storage",\n "session_storage"\n ],\n "type": "object"\n }\n },\n "required": [\n "state",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "not_requested",\n "type": "string"\n }\n },\n "required": [\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "minLength": 1,\n "type": "string"\n },\n "state": {\n "const": "missing",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "observed": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "reason": {\n "minLength": 1,\n "type": "string"\n },\n "retained": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "state": {\n "const": "truncated",\n "type": "string"\n }\n },\n "required": [\n "state",\n "observed",\n "retained",\n "reason"\n ],\n "type": "object"\n }\n ]\n },\n "url": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "captured",\n "type": "string"\n },\n "value": {\n "additionalProperties": false,\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "query_parameter_names": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "type": "boolean"\n },\n "url": {\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n }\n },\n "required": [\n "state",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "not_requested",\n "type": "string"\n }\n },\n "required": [\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "minLength": 1,\n "type": "string"\n },\n "state": {\n "const": "missing",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "observed": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "reason": {\n "minLength": 1,\n "type": "string"\n },\n "retained": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "state": {\n "const": "truncated",\n "type": "string"\n }\n },\n "required": [\n "state",\n "observed",\n "retained",\n "reason"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "screenshot",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage"\n ],\n "type": "object"\n },\n "before_url": {\n "additionalProperties": false,\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "query_parameter_names": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "type": "boolean"\n },\n "url": {\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n },\n "completeness": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "equality_eligible": {\n "const": true,\n "type": "boolean"\n },\n "missing_sections": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "status": {\n "const": "complete",\n "type": "string"\n },\n "truncated_sections": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n }\n },\n "required": [\n "status",\n "equality_eligible",\n "missing_sections",\n "truncated_sections"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "equality_eligible": {\n "const": false,\n "type": "boolean"\n },\n "missing_sections": {\n "items": {\n "enum": [\n "action",\n "screenshot",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage",\n "events",\n "frames",\n "workers",\n "popups",\n "websockets"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "status": {\n "const": "incomplete",\n "type": "string"\n },\n "truncated_sections": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n }\n },\n "required": [\n "status",\n "equality_eligible",\n "missing_sections",\n "truncated_sections"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "equality_eligible": {\n "const": false,\n "type": "boolean"\n },\n "missing_sections": {\n "items": {\n "enum": [\n "action",\n "screenshot",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage",\n "events",\n "frames",\n "workers",\n "popups",\n "websockets"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "status": {\n "const": "truncated",\n "type": "string"\n },\n "truncated_sections": {\n "items": {\n "enum": [\n "action",\n "screenshot",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage",\n "events",\n "frames",\n "workers",\n "popups",\n "websockets"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "status",\n "equality_eligible",\n "missing_sections",\n "truncated_sections"\n ],\n "type": "object"\n }\n ]\n },\n "elapsed_ms": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "error": {\n "type": "null"\n },\n "event_sequence_end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "event_sequence_start": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "status": {\n "const": "completed",\n "type": "string"\n },\n "step_id": {\n "minLength": 1,\n "type": "string"\n },\n "step_index": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "step_index",\n "step_id",\n "action",\n "elapsed_ms",\n "before_url",\n "after_url",\n "event_sequence_start",\n "event_sequence_end",\n "artifacts",\n "completeness",\n "status",\n "error"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n },\n "after_url": {\n "additionalProperties": false,\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "query_parameter_names": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "type": "boolean"\n },\n "url": {\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n },\n "artifacts": {\n "additionalProperties": false,\n "properties": {\n "accessibility": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "captured",\n "type": "string"\n },\n "value": {\n "additionalProperties": false,\n "properties": {\n "bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "text": {\n "type": "string"\n }\n },\n "required": [\n "sha256",\n "bytes",\n "text"\n ],\n "type": "object"\n }\n },\n "required": [\n "state",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "not_requested",\n "type": "string"\n }\n },\n "required": [\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "minLength": 1,\n "type": "string"\n },\n "state": {\n "const": "missing",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "observed": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "reason": {\n "minLength": 1,\n "type": "string"\n },\n "retained": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "state": {\n "const": "truncated",\n "type": "string"\n }\n },\n "required": [\n "state",\n "observed",\n "retained",\n "reason"\n ],\n "type": "object"\n }\n ]\n },\n "dom": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "captured",\n "type": "string"\n },\n "value": {\n "additionalProperties": false,\n "properties": {\n "bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "text": {\n "type": "string"\n }\n },\n "required": [\n "sha256",\n "bytes",\n "text"\n ],\n "type": "object"\n }\n },\n "required": [\n "state",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "not_requested",\n "type": "string"\n }\n },\n "required": [\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "minLength": 1,\n "type": "string"\n },\n "state": {\n "const": "missing",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "observed": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "reason": {\n "minLength": 1,\n "type": "string"\n },\n "retained": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "state": {\n "const": "truncated",\n "type": "string"\n }\n },\n "required": [\n "state",\n "observed",\n "retained",\n "reason"\n ],\n "type": "object"\n }\n ]\n },\n "history": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "captured",\n "type": "string"\n },\n "value": {\n "additionalProperties": false,\n "properties": {\n "current_url": {\n "additionalProperties": false,\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "query_parameter_names": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "type": "boolean"\n },\n "url": {\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n },\n "length": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "navigation_entries": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "additionalProperties": false,\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "query_parameter_names": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "type": "boolean"\n },\n "url": {\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n },\n "type": {\n "enum": [\n "navigate",\n "reload",\n "back_forward",\n "prerender",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "type",\n "name"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "length",\n "current_url",\n "navigation_entries"\n ],\n "type": "object"\n }\n },\n "required": [\n "state",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "not_requested",\n "type": "string"\n }\n },\n "required": [\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "minLength": 1,\n "type": "string"\n },\n "state": {\n "const": "missing",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "observed": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "reason": {\n "minLength": 1,\n "type": "string"\n },\n "retained": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "state": {\n "const": "truncated",\n "type": "string"\n }\n },\n "required": [\n "state",\n "observed",\n "retained",\n "reason"\n ],\n "type": "object"\n }\n ]\n },\n "screenshot": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "captured",\n "type": "string"\n },\n "value": {\n "additionalProperties": false,\n "properties": {\n "bytes": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "data_base64": {\n "type": "string"\n },\n "media_type": {\n "const": "image/png",\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256",\n "bytes",\n "media_type",\n "data_base64"\n ],\n "type": "object"\n }\n },\n "required": [\n "state",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "not_requested",\n "type": "string"\n }\n },\n "required": [\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "minLength": 1,\n "type": "string"\n },\n "state": {\n "const": "missing",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "observed": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "reason": {\n "minLength": 1,\n "type": "string"\n },\n "retained": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "state": {\n "const": "truncated",\n "type": "string"\n }\n },\n "required": [\n "state",\n "observed",\n "retained",\n "reason"\n ],\n "type": "object"\n }\n ]\n },\n "storage": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "captured",\n "type": "string"\n },\n "value": {\n "additionalProperties": false,\n "properties": {\n "cookies": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "domain": {\n "type": "string"\n },\n "http_only": {\n "type": "boolean"\n },\n "name": {\n "type": "string"\n },\n "path": {\n "type": "string"\n },\n "same_site": {\n "enum": [\n "Strict",\n "Lax",\n "None"\n ],\n "type": "string"\n },\n "secure": {\n "type": "boolean"\n },\n "value_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "value_state": {\n "const": "hashed",\n "type": "string"\n }\n },\n "required": [\n "name",\n "domain",\n "path",\n "secure",\n "http_only",\n "same_site",\n "value_state",\n "value_sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "domain": {\n "type": "string"\n },\n "http_only": {\n "type": "boolean"\n },\n "name": {\n "type": "string"\n },\n "path": {\n "type": "string"\n },\n "same_site": {\n "enum": [\n "Strict",\n "Lax",\n "None"\n ],\n "type": "string"\n },\n "secure": {\n "type": "boolean"\n },\n "value_sha256": {\n "type": "null"\n },\n "value_state": {\n "const": "redacted-secret",\n "type": "string"\n }\n },\n "required": [\n "name",\n "domain",\n "path",\n "secure",\n "http_only",\n "same_site",\n "value_state",\n "value_sha256"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "local_storage": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "name": {\n "type": "string"\n },\n "value_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "value_state": {\n "const": "hashed",\n "type": "string"\n }\n },\n "required": [\n "name",\n "value_state",\n "value_sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "name": {\n "type": "string"\n },\n "value_sha256": {\n "type": "null"\n },\n "value_state": {\n "const": "redacted-secret",\n "type": "string"\n }\n },\n "required": [\n "name",\n "value_state",\n "value_sha256"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "session_storage": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "name": {\n "type": "string"\n },\n "value_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "value_state": {\n "const": "hashed",\n "type": "string"\n }\n },\n "required": [\n "name",\n "value_state",\n "value_sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "name": {\n "type": "string"\n },\n "value_sha256": {\n "type": "null"\n },\n "value_state": {\n "const": "redacted-secret",\n "type": "string"\n }\n },\n "required": [\n "name",\n "value_state",\n "value_sha256"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n }\n },\n "required": [\n "cookies",\n "local_storage",\n "session_storage"\n ],\n "type": "object"\n }\n },\n "required": [\n "state",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "not_requested",\n "type": "string"\n }\n },\n "required": [\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "minLength": 1,\n "type": "string"\n },\n "state": {\n "const": "missing",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "observed": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "reason": {\n "minLength": 1,\n "type": "string"\n },\n "retained": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "state": {\n "const": "truncated",\n "type": "string"\n }\n },\n "required": [\n "state",\n "observed",\n "retained",\n "reason"\n ],\n "type": "object"\n }\n ]\n },\n "url": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "captured",\n "type": "string"\n },\n "value": {\n "additionalProperties": false,\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "query_parameter_names": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "type": "boolean"\n },\n "url": {\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n }\n },\n "required": [\n "state",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "not_requested",\n "type": "string"\n }\n },\n "required": [\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "minLength": 1,\n "type": "string"\n },\n "state": {\n "const": "missing",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "observed": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "reason": {\n "minLength": 1,\n "type": "string"\n },\n "retained": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "state": {\n "const": "truncated",\n "type": "string"\n }\n },\n "required": [\n "state",\n "observed",\n "retained",\n "reason"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "screenshot",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage"\n ],\n "type": "object"\n },\n "before_url": {\n "additionalProperties": false,\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "query_parameter_names": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "type": "boolean"\n },\n "url": {\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n },\n "completeness": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "equality_eligible": {\n "const": true,\n "type": "boolean"\n },\n "missing_sections": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "status": {\n "const": "complete",\n "type": "string"\n },\n "truncated_sections": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n }\n },\n "required": [\n "status",\n "equality_eligible",\n "missing_sections",\n "truncated_sections"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "equality_eligible": {\n "const": false,\n "type": "boolean"\n },\n "missing_sections": {\n "items": {\n "enum": [\n "action",\n "screenshot",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage",\n "events",\n "frames",\n "workers",\n "popups",\n "websockets"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "status": {\n "const": "incomplete",\n "type": "string"\n },\n "truncated_sections": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n }\n },\n "required": [\n "status",\n "equality_eligible",\n "missing_sections",\n "truncated_sections"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "equality_eligible": {\n "const": false,\n "type": "boolean"\n },\n "missing_sections": {\n "items": {\n "enum": [\n "action",\n "screenshot",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage",\n "events",\n "frames",\n "workers",\n "popups",\n "websockets"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "status": {\n "const": "truncated",\n "type": "string"\n },\n "truncated_sections": {\n "items": {\n "enum": [\n "action",\n "screenshot",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage",\n "events",\n "frames",\n "workers",\n "popups",\n "websockets"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "status",\n "equality_eligible",\n "missing_sections",\n "truncated_sections"\n ],\n "type": "object"\n }\n ]\n },\n "elapsed_ms": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "error": {\n "type": "string"\n },\n "event_sequence_end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "event_sequence_start": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "status": {\n "enum": [\n "failed",\n "cancelled"\n ],\n "type": "string"\n },\n "step_id": {\n "minLength": 1,\n "type": "string"\n },\n "step_index": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "step_index",\n "step_id",\n "action",\n "elapsed_ms",\n "before_url",\n "after_url",\n "event_sequence_start",\n "event_sequence_end",\n "artifacts",\n "completeness",\n "status",\n "error"\n ],\n "type": "object"\n }\n ]\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "browser",\n "scenario",\n "duration_ms",\n "steps",\n "events",\n "completeness",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Capture Browser Scenario"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": true,\n "readOnlyHint": false\n },\n "description": "List every Electron file:// page target from a selected loopback CDP endpoint. Local file paths are canonicalized after symlink resolution. Selecting an endpoint exposes every eligible target and its local path metadata.",\n "effects": {\n "accessesNetwork": true,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "cdp_endpoint": "http://127.0.0.1:9223"\n }\n ],\n "properties": {\n "cdp_endpoint": {\n "description": "Literal loopback Chrome DevTools Protocol endpoint.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "cdp_endpoint"\n ],\n "type": "object"\n },\n "kind": "electron-provider",\n "name": "list_electron_targets",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "browser": {\n "additionalProperties": false,\n "properties": {\n "js_version": {\n "type": "string"\n },\n "product": {\n "type": "string"\n },\n "protocol_version": {\n "type": "string"\n },\n "revision": {\n "type": "string"\n },\n "user_agent": {\n "type": "string"\n }\n },\n "required": [\n "product",\n "protocol_version",\n "revision",\n "user_agent",\n "js_version"\n ],\n "type": "object"\n },\n "excluded": {\n "additionalProperties": false,\n "properties": {\n "non_page": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "unsupported_url": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "unsupported_url",\n "non_page"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "targets": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "attached": {\n "type": "boolean"\n },\n "file_path": {\n "type": "string"\n },\n "target_id": {\n "type": "string"\n },\n "title": {\n "type": "string"\n },\n "type": {\n "type": "string"\n }\n },\n "required": [\n "target_id",\n "type",\n "title",\n "file_path",\n "attached"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "browser",\n "targets",\n "excluded",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "List Electron Targets"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": true,\n "readOnlyHint": false\n },\n "description": "Passively inspect one Electron file page by supplying its loopback CDP endpoint and target ID. The provider rechecks that the target currently exists at that endpoint and is a local file page. Returns frames, DOM structure, resource paths, and scripts without evaluating renderer JavaScript or invoking Electron APIs. The selected endpoint exposes every local file page and its metadata to this tool.",\n "effects": {\n "accessesNetwork": true,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "cdp_endpoint": {\n "description": "Literal loopback Chrome DevTools Protocol endpoint.",\n "minLength": 1,\n "type": "string"\n },\n "include_script_sources": {\n "const": false,\n "default": false,\n "description": "Whether to include script sources in the result.",\n "type": "boolean"\n },\n "observation_ms": {\n "default": 100,\n "description": "Value for observation ms.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "target_id": {\n "description": "Exact CDP target identifier selected from the endpoint\'s target listing.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "cdp_endpoint",\n "target_id"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "cdp_endpoint": {\n "description": "Literal loopback Chrome DevTools Protocol endpoint.",\n "minLength": 1,\n "type": "string"\n },\n "include_script_sources": {\n "const": true,\n "description": "Whether to include script sources in the result.",\n "type": "boolean"\n },\n "observation_ms": {\n "default": 100,\n "description": "Value for observation ms.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "target_id": {\n "description": "Exact CDP target identifier selected from the endpoint\'s target listing.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "cdp_endpoint",\n "target_id",\n "include_script_sources"\n ],\n "type": "object"\n }\n ],\n "examples": [\n {\n "cdp_endpoint": "http://127.0.0.1:9223",\n "target_id": "TARGET_ID_FROM_LIST_ELECTRON_TARGETS"\n }\n ],\n "type": "object"\n },\n "kind": "electron-provider",\n "name": "inspect_electron_page",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "browser": {\n "additionalProperties": false,\n "properties": {\n "js_version": {\n "type": "string"\n },\n "product": {\n "type": "string"\n },\n "protocol_version": {\n "type": "string"\n },\n "revision": {\n "type": "string"\n },\n "user_agent": {\n "type": "string"\n }\n },\n "required": [\n "product",\n "protocol_version",\n "revision",\n "user_agent",\n "js_version"\n ],\n "type": "object"\n },\n "capture_window": {\n "additionalProperties": false,\n "properties": {\n "ended_at": {\n "format": "date-time",\n "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))$",\n "type": "string"\n },\n "observation_ms": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "started_at": {\n "format": "date-time",\n "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))$",\n "type": "string"\n }\n },\n "required": [\n "started_at",\n "ended_at",\n "observation_ms"\n ],\n "type": "object"\n },\n "completeness": {\n "additionalProperties": false,\n "properties": {\n "attach_limited_sections": {\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "conditions": {\n "items": {\n "enum": [\n "complete_within_window",\n "policy_filtered",\n "attach_limited",\n "truncated"\n ],\n "type": "string"\n },\n "maxItems": 3,\n "minItems": 1,\n "type": "array"\n },\n "dropped_events": {\n "additionalProperties": false,\n "properties": {\n "console_events": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "network_requests": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "scripts": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "timeline_events": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "total": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "webmcp_tools": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "websocket_connections": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "websocket_frames": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "scripts",\n "network_requests",\n "console_events",\n "websocket_connections",\n "websocket_frames",\n "webmcp_tools",\n "timeline_events",\n "total"\n ],\n "type": "object"\n },\n "excluded": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "reason": {\n "enum": [\n "disallowed_origin",\n "unsupported_url",\n "unattributed_origin",\n "not_approved",\n "out_of_target_scope",\n "provider_unavailable",\n "invalid_protocol_value"\n ],\n "type": "string"\n },\n "section": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n }\n },\n "required": [\n "section",\n "reason",\n "count"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "policy_filtered_sections": {\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "status": {\n "enum": [\n "complete_within_window",\n "policy_filtered",\n "attach_limited",\n "truncated"\n ],\n "type": "string"\n },\n "truncated_sections": {\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "unavailable_sections": {\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n }\n },\n "required": [\n "status",\n "conditions",\n "policy_filtered_sections",\n "attach_limited_sections",\n "truncated_sections",\n "unavailable_sections",\n "excluded",\n "dropped_events"\n ],\n "type": "object"\n },\n "dom": {\n "additionalProperties": false,\n "properties": {\n "nodes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "attribute_names": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "index": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "node_name": {\n "type": "string"\n },\n "node_type": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "node_value_length": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "parent_index": {\n "maximum": 9007199254740991,\n "minimum": -1,\n "type": "integer"\n }\n },\n "required": [\n "index",\n "parent_index",\n "node_type",\n "node_name",\n "node_value_length",\n "attribute_names"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "total_nodes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "total_nodes",\n "nodes"\n ],\n "type": "object"\n },\n "frames": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "file_path": {\n "type": "string"\n },\n "frame_id": {\n "type": "string"\n },\n "parent_frame_id": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "frame_id",\n "parent_frame_id",\n "file_path"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "resources": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "content_size": {\n "anyOf": [\n {\n "minimum": 0,\n "type": "number"\n },\n {\n "type": "null"\n }\n ]\n },\n "file_path": {\n "type": "string"\n },\n "mime_type": {\n "type": "string"\n },\n "resource_key": {\n "pattern": "^electron_resource_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": {\n "type": "string"\n }\n },\n "required": [\n "resource_key",\n "file_path",\n "type",\n "mime_type",\n "content_size"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "scripts": {\n "additionalProperties": false,\n "properties": {\n "items": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "cdp_hash": {\n "type": "string"\n },\n "file_path": {\n "type": "string"\n },\n "frame_id": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "is_module": {\n "type": "boolean"\n },\n "language": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "length": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "script_key": {\n "pattern": "^electron_script_[a-f0-9]{64}$",\n "type": "string"\n },\n "source": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "included": {\n "const": false,\n "type": "boolean"\n },\n "reason": {\n "type": "string"\n }\n },\n "required": [\n "included",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "artifact": {\n "additionalProperties": false,\n "properties": {\n "bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "charset": {\n "const": "utf-8",\n "type": "string"\n },\n "media_type": {\n "minLength": 1,\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "text": {\n "type": "string"\n }\n },\n "required": [\n "sha256",\n "bytes",\n "media_type",\n "charset",\n "text"\n ],\n "type": "object"\n },\n "included": {\n "const": true,\n "type": "boolean"\n }\n },\n "required": [\n "included",\n "artifact"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "script_key",\n "frame_id",\n "file_path",\n "cdp_hash",\n "length",\n "is_module",\n "language",\n "source"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "total": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "total",\n "items"\n ],\n "type": "object"\n },\n "target": {\n "additionalProperties": false,\n "properties": {\n "attached": {\n "type": "boolean"\n },\n "file_path": {\n "type": "string"\n },\n "target_id": {\n "type": "string"\n },\n "title": {\n "type": "string"\n },\n "type": {\n "type": "string"\n }\n },\n "required": [\n "target_id",\n "type",\n "title",\n "file_path",\n "attached"\n ],\n "type": "object"\n },\n "workers": {\n "default": [],\n "items": {\n "additionalProperties": false,\n "properties": {\n "attached": {\n "type": "boolean"\n },\n "file_path": {\n "type": "string"\n },\n "opener_target_id": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "parent_frame_id": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "target_id": {\n "minLength": 1,\n "type": "string"\n },\n "type": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "target_id",\n "type",\n "file_path",\n "attached",\n "opener_target_id",\n "parent_frame_id"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "browser",\n "target",\n "capture_window",\n "completeness",\n "frames",\n "dom",\n "scripts",\n "resources",\n "workers",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Inspect Electron Page"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Reconstruct one local ASAR or extracted JavaScript application as an inline application graph without executing it. Returns all recovered graph nodes, edges, semantic relations, limitations, and coverage. Integrity mismatches, such as unpacked native modules signed after packaging, fail by default; record-and-continue analyzes the observed bytes and reports each mismatch as an untrusted integrity contradiction.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "format": "auto",\n "input_path": "/Applications/Example.app/Contents/Resources/app.asar"\n }\n ],\n "properties": {\n "format": {\n "default": "auto",\n "description": "Declared input artifact format.",\n "enum": [\n "auto",\n "asar",\n "directory"\n ],\n "type": "string"\n },\n "input_path": {\n "description": "Local filesystem path for input.",\n "minLength": 1,\n "type": "string"\n },\n "integrity_policy": {\n "default": "fail",\n "description": "Value for integrity policy.",\n "enum": [\n "fail",\n "record-and-continue"\n ],\n "type": "string"\n }\n },\n "required": [\n "input_path"\n ],\n "type": "object"\n },\n "kind": "electron-provider",\n "name": "analyze_javascript_application",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "format": {\n "enum": [\n "asar",\n "directory"\n ],\n "type": "string"\n },\n "graph": {\n "additionalProperties": false,\n "properties": {\n "coverage": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "const": 0,\n "type": "number"\n },\n "status": {\n "const": "complete",\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "partial",\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "omitted_count": {\n "anyOf": [\n {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "partial",\n "type": "string"\n },\n "truncated": {\n "const": true,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "type": "null"\n },\n "status": {\n "enum": [\n "unknown",\n "unavailable"\n ],\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n }\n ]\n },\n "edges": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "edge_id": {\n "pattern": "^jag_edge_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "artifact": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "artifact_id": {\n "pattern": "^art_[a-f0-9]{64}$",\n "type": "string"\n },\n "available": {\n "const": true,\n "type": "boolean"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "available",\n "artifact_id",\n "sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "enum": [\n "not-applicable",\n "not-observed",\n "truncated",\n "provider-unavailable",\n "unresolved",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason",\n "detail"\n ],\n "type": "object"\n }\n ]\n },\n "authority": {\n "enum": [\n "artifact-bytes",\n "ast-static-analysis",\n "static-relationship-inference",\n "passive-cdp-runtime",\n "cross-layer-reconciliation",\n "cross-version-comparison",\n "controlled-replay",\n "native-analysis-provider",\n "managed-static-analysis",\n "historical-reference",\n "user-assertion",\n "unknown"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "exact",\n "high",\n "medium",\n "low",\n "unknown"\n ],\n "type": "string"\n },\n "coverage": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "const": 0,\n "type": "number"\n },\n "status": {\n "const": "complete",\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "partial",\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "omitted_count": {\n "anyOf": [\n {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "partial",\n "type": "string"\n },\n "truncated": {\n "const": true,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "type": "null"\n },\n "status": {\n "enum": [\n "unknown",\n "unavailable"\n ],\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n }\n ]\n },\n "evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "extractor": {\n "additionalProperties": false,\n "properties": {\n "executable_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "version",\n "operation",\n "executable_sha256"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "location": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "value": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "line",\n "column"\n ],\n "type": "object"\n },\n "kind": {\n "const": "source-range",\n "type": "string"\n },\n "source": {\n "minLength": 1,\n "type": "string"\n },\n "start": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "line",\n "column"\n ],\n "type": "object"\n }\n },\n "required": [\n "kind",\n "source",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "url",\n "type": "string"\n },\n "url": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "url"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "capture_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "frame_key": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "kind": {\n "const": "runtime",\n "type": "string"\n },\n "script_key": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "target_key": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "capture_sha256",\n "target_key",\n "frame_key",\n "script_key"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "native-address",\n "type": "string"\n },\n "symbol": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "kind",\n "address",\n "symbol"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "export_path": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "package-export",\n "type": "string"\n },\n "package_name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "package_name",\n "export_path"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "available",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "enum": [\n "not-applicable",\n "not-observed",\n "truncated",\n "provider-unavailable",\n "unresolved",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason",\n "detail"\n ],\n "type": "object"\n }\n ]\n },\n "state": {\n "enum": [\n "observed",\n "inferred",\n "unknown",\n "unavailable"\n ],\n "type": "string"\n }\n },\n "required": [\n "authority",\n "state",\n "confidence",\n "artifact",\n "location",\n "extractor",\n "coverage",\n "limitations",\n "evidence_ids"\n ],\n "type": "object"\n },\n "identifier_strategy": {\n "additionalProperties": false,\n "properties": {\n "stability": {\n "const": "relationship-exact",\n "type": "string"\n },\n "strategy": {\n "const": "semantic-content-sha256",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability"\n ],\n "type": "object"\n },\n "properties": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "minLength": 1,\n "type": "string"\n },\n "type": "object"\n },\n "relation": {\n "enum": [\n "contains",\n "loads",\n "imports",\n "maps_to",\n "exposes",\n "sends",\n "invokes",\n "handles",\n "calls",\n "persists_to",\n "observed_as",\n "changed_from"\n ],\n "type": "string"\n },\n "source_node_id": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "target_node_id": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "source_node_id",\n "target_node_id",\n "relation",\n "properties",\n "evidence",\n "edge_id",\n "identifier_strategy"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "graph_id": {\n "pattern": "^jag_[a-f0-9]{64}$",\n "type": "string"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "nodes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "identity": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "stability": {\n "const": "global-exact",\n "type": "string"\n },\n "strategy": {\n "const": "content-digest",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability",\n "sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "original_source": {\n "type": "string"\n },\n "source_map_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "source_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "stability": {\n "const": "source-map-exact",\n "type": "string"\n },\n "strategy": {\n "const": "source-map-original",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability",\n "source_map_sha256",\n "original_source",\n "source_sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "artifact_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n },\n "stability": {\n "const": "artifact-version",\n "type": "string"\n },\n "strategy": {\n "const": "canonical-path",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability",\n "artifact_sha256",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "algorithm": {\n "minLength": 1,\n "type": "string"\n },\n "basis": {\n "items": {\n "enum": [\n "syntax-tree",\n "control-flow",\n "imports",\n "exports",\n "literals",\n "api-usage"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "fingerprint_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "stability": {\n "const": "cross-version-inference",\n "type": "string"\n },\n "strategy": {\n "const": "structural-fingerprint",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability",\n "algorithm",\n "fingerprint_sha256",\n "basis"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "artifact_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "key": {\n "type": "string"\n },\n "namespace": {\n "minLength": 1,\n "type": "string"\n },\n "stability": {\n "const": "artifact-version",\n "type": "string"\n },\n "strategy": {\n "const": "artifact-local-key",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability",\n "artifact_sha256",\n "namespace",\n "key"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "capture_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "runtime_key": {\n "minLength": 1,\n "type": "string"\n },\n "stability": {\n "const": "capture-only",\n "type": "string"\n },\n "strategy": {\n "const": "runtime-instance",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability",\n "capture_sha256",\n "runtime_key"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "observation_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "scope": {\n "minLength": 1,\n "type": "string"\n },\n "stability": {\n "const": "observation-only",\n "type": "string"\n },\n "strategy": {\n "const": "observation-fingerprint",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability",\n "observation_sha256",\n "scope"\n ],\n "type": "object"\n }\n ]\n },\n "kind": {\n "enum": [\n "package",\n "installer",\n "artifact",\n "asar-entry",\n "electron-main",\n "electron-preload",\n "electron-renderer",\n "electron-utility",\n "javascript-asset",\n "javascript-chunk",\n "javascript-module",\n "source-map",\n "source-module",\n "browser-window",\n "frame",\n "target",\n "context-bridge-api",\n "ipc-channel",\n "ipc-handler",\n "worker",\n "service-worker",\n "endpoint",\n "storage",\n "native-addon",\n "native-export",\n "managed-assembly",\n "managed-module",\n "managed-type",\n "managed-method",\n "managed-field",\n "managed-pinvoke-import",\n "managed-native-implementation",\n "runtime-script-instance",\n "unknown"\n ],\n "type": "string"\n },\n "node_id": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "observations": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "artifact": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "artifact_id": {\n "pattern": "^art_[a-f0-9]{64}$",\n "type": "string"\n },\n "available": {\n "const": true,\n "type": "boolean"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "available",\n "artifact_id",\n "sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "enum": [\n "not-applicable",\n "not-observed",\n "truncated",\n "provider-unavailable",\n "unresolved",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason",\n "detail"\n ],\n "type": "object"\n }\n ]\n },\n "authority": {\n "enum": [\n "artifact-bytes",\n "ast-static-analysis",\n "static-relationship-inference",\n "passive-cdp-runtime",\n "cross-layer-reconciliation",\n "cross-version-comparison",\n "controlled-replay",\n "native-analysis-provider",\n "managed-static-analysis",\n "historical-reference",\n "user-assertion",\n "unknown"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "exact",\n "high",\n "medium",\n "low",\n "unknown"\n ],\n "type": "string"\n },\n "coverage": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "const": 0,\n "type": "number"\n },\n "status": {\n "const": "complete",\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "partial",\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "omitted_count": {\n "anyOf": [\n {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "partial",\n "type": "string"\n },\n "truncated": {\n "const": true,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "type": "null"\n },\n "status": {\n "enum": [\n "unknown",\n "unavailable"\n ],\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n }\n ]\n },\n "evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "extractor": {\n "additionalProperties": false,\n "properties": {\n "executable_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "version",\n "operation",\n "executable_sha256"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "location": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "value": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "line",\n "column"\n ],\n "type": "object"\n },\n "kind": {\n "const": "source-range",\n "type": "string"\n },\n "source": {\n "minLength": 1,\n "type": "string"\n },\n "start": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "line",\n "column"\n ],\n "type": "object"\n }\n },\n "required": [\n "kind",\n "source",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "url",\n "type": "string"\n },\n "url": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "url"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "capture_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "frame_key": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "kind": {\n "const": "runtime",\n "type": "string"\n },\n "script_key": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "target_key": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "capture_sha256",\n "target_key",\n "frame_key",\n "script_key"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "native-address",\n "type": "string"\n },\n "symbol": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "kind",\n "address",\n "symbol"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "export_path": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "package-export",\n "type": "string"\n },\n "package_name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "package_name",\n "export_path"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "available",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "enum": [\n "not-applicable",\n "not-observed",\n "truncated",\n "provider-unavailable",\n "unresolved",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason",\n "detail"\n ],\n "type": "object"\n }\n ]\n },\n "state": {\n "enum": [\n "observed",\n "inferred",\n "unknown",\n "unavailable"\n ],\n "type": "string"\n }\n },\n "required": [\n "authority",\n "state",\n "confidence",\n "artifact",\n "location",\n "extractor",\n "coverage",\n "limitations",\n "evidence_ids"\n ],\n "type": "object"\n },\n "identifier_strategy": {\n "additionalProperties": false,\n "properties": {\n "stability": {\n "const": "observation-exact",\n "type": "string"\n },\n "strategy": {\n "const": "semantic-content-sha256",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability"\n ],\n "type": "object"\n },\n "label": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "observation_id": {\n "pattern": "^jag_observation_[a-f0-9]{64}$",\n "type": "string"\n },\n "properties": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "minLength": 1,\n "type": "string"\n },\n "type": "object"\n }\n },\n "required": [\n "label",\n "properties",\n "evidence",\n "observation_id",\n "identifier_strategy"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "node_id",\n "kind",\n "identity",\n "observations"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "root_node_ids": {\n "items": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "schema": {\n "const": "JavaScriptApplicationGraph",\n "type": "string"\n }\n },\n "required": [\n "schema",\n "root_node_ids",\n "nodes",\n "edges",\n "coverage",\n "limitations",\n "graph_id"\n ],\n "type": "object"\n },\n "input_path": {\n "minLength": 1,\n "type": "string"\n },\n "integrity_contradictions": {\n "default": [],\n "items": {\n "additionalProperties": false,\n "properties": {\n "contradiction_id": {\n "pattern": "^ic_[a-f0-9]{64}$",\n "type": "string"\n },\n "declared_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "entry_kind": {\n "enum": [\n "file",\n "slice"\n ],\n "type": "string"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "logical_path": {\n "minLength": 1,\n "type": "string"\n },\n "observed_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "occurrence_id": {\n "pattern": "^occ_[a-f0-9]{64}$",\n "type": "string"\n },\n "parent_artifact_id": {\n "pattern": "^art_[a-f0-9]{64}$",\n "type": "string"\n },\n "provenance": {\n "const": "container-integrity-metadata-versus-observed-bytes",\n "type": "string"\n },\n "trust": {\n "const": "observed-untrusted",\n "type": "string"\n },\n "unpacked": {\n "type": "boolean"\n }\n },\n "required": [\n "contradiction_id",\n "occurrence_id",\n "parent_artifact_id",\n "logical_path",\n "declared_sha256",\n "observed_sha256",\n "entry_kind",\n "unpacked",\n "trust",\n "provenance",\n "limitations"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "inventory_graph_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "inventory_manifest_id": {\n "pattern": "^agm_[a-f0-9]{64}$",\n "type": "string"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "root_artifact_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "semantic_graph": {\n "additionalProperties": false,\n "properties": {\n "application_graph_id": {\n "pattern": "^jag_[a-f0-9]{64}$",\n "type": "string"\n },\n "coverage": {\n "additionalProperties": false,\n "properties": {\n "families": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "family": {\n "enum": [\n "boundary",\n "call-flow",\n "child-process",\n "closure",\n "configuration",\n "data-flow",\n "event",\n "object-flow",\n "promise-ownership",\n "request",\n "resource-lifecycle",\n "timer"\n ],\n "type": "string"\n },\n "omitted_relations": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "retained_relations": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "status": {\n "enum": [\n "complete",\n "partial",\n "unknown",\n "unsupported"\n ],\n "type": "string"\n },\n "unknown_ids": {\n "items": {\n "pattern": "^jsrg_unknown_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n }\n },\n "required": [\n "family",\n "status",\n "retained_relations",\n "omitted_relations",\n "unknown_ids"\n ],\n "type": "object"\n },\n "maxItems": 12,\n "minItems": 12,\n "type": "array"\n },\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_nodes": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "omitted_relations": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "enum": [\n "complete",\n "partial",\n "unknown",\n "unavailable"\n ],\n "type": "string"\n },\n "truncated": {\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_nodes",\n "omitted_relations",\n "limits",\n "families"\n ],\n "type": "object"\n },\n "fingerprints": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "algorithm": {\n "const": "rea.javascript-semantic-function",\n "type": "string"\n },\n "components": {\n "additionalProperties": false,\n "properties": {\n "control_flow_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "effects": {\n "items": {\n "enum": [\n "async",\n "child-process",\n "event",\n "network",\n "promise",\n "resource",\n "timer"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "literal_set_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "normalized_ast_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameter_arity": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "relation_shape_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "parameter_arity",\n "normalized_ast_sha256",\n "control_flow_sha256",\n "relation_shape_sha256",\n "literal_set_sha256",\n "effects"\n ],\n "type": "object"\n },\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "artifact": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "artifact_id": {\n "pattern": "^art_[a-f0-9]{64}$",\n "type": "string"\n },\n "available": {\n "const": true,\n "type": "boolean"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "available",\n "artifact_id",\n "sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "enum": [\n "not-applicable",\n "not-observed",\n "truncated",\n "provider-unavailable",\n "unresolved",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason",\n "detail"\n ],\n "type": "object"\n }\n ]\n },\n "authority": {\n "enum": [\n "artifact-bytes",\n "ast-static-analysis",\n "static-relationship-inference",\n "passive-cdp-runtime",\n "cross-layer-reconciliation",\n "cross-version-comparison",\n "controlled-replay",\n "native-analysis-provider",\n "managed-static-analysis",\n "historical-reference",\n "user-assertion",\n "unknown"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "exact",\n "high",\n "medium",\n "low",\n "unknown"\n ],\n "type": "string"\n },\n "coverage": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "const": 0,\n "type": "number"\n },\n "status": {\n "const": "complete",\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "partial",\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "omitted_count": {\n "anyOf": [\n {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "partial",\n "type": "string"\n },\n "truncated": {\n "const": true,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "type": "null"\n },\n "status": {\n "enum": [\n "unknown",\n "unavailable"\n ],\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n }\n ]\n },\n "evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "extractor": {\n "additionalProperties": false,\n "properties": {\n "executable_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "version",\n "operation",\n "executable_sha256"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "location": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "value": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "line",\n "column"\n ],\n "type": "object"\n },\n "kind": {\n "const": "source-range",\n "type": "string"\n },\n "source": {\n "minLength": 1,\n "type": "string"\n },\n "start": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "line",\n "column"\n ],\n "type": "object"\n }\n },\n "required": [\n "kind",\n "source",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "url",\n "type": "string"\n },\n "url": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "url"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "capture_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "frame_key": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "kind": {\n "const": "runtime",\n "type": "string"\n },\n "script_key": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "target_key": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "capture_sha256",\n "target_key",\n "frame_key",\n "script_key"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "native-address",\n "type": "string"\n },\n "symbol": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "kind",\n "address",\n "symbol"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "export_path": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "package-export",\n "type": "string"\n },\n "package_name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "package_name",\n "export_path"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "available",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "enum": [\n "not-applicable",\n "not-observed",\n "truncated",\n "provider-unavailable",\n "unresolved",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason",\n "detail"\n ],\n "type": "object"\n }\n ]\n },\n "state": {\n "enum": [\n "observed",\n "inferred",\n "unknown",\n "unavailable"\n ],\n "type": "string"\n }\n },\n "required": [\n "authority",\n "state",\n "confidence",\n "artifact",\n "location",\n "extractor",\n "coverage",\n "limitations",\n "evidence_ids"\n ],\n "type": "object"\n },\n "fingerprint_id": {\n "pattern": "^jsrg_fingerprint_[a-f0-9]{64}$",\n "type": "string"\n },\n "fingerprint_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "function_node_id": {\n "pattern": "^jsrg_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "status": {\n "enum": [\n "complete",\n "partial",\n "unavailable"\n ],\n "type": "string"\n }\n },\n "required": [\n "function_node_id",\n "algorithm",\n "status",\n "components",\n "limitations",\n "evidence",\n "fingerprint_id",\n "fingerprint_sha256"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "graph_id": {\n "pattern": "^jsrg_[a-f0-9]{64}$",\n "type": "string"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "nodes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "application_node_ids": {\n "items": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "artifact": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "artifact_id": {\n "pattern": "^art_[a-f0-9]{64}$",\n "type": "string"\n },\n "available": {\n "const": true,\n "type": "boolean"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "available",\n "artifact_id",\n "sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "enum": [\n "not-applicable",\n "not-observed",\n "truncated",\n "provider-unavailable",\n "unresolved",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason",\n "detail"\n ],\n "type": "object"\n }\n ]\n },\n "authority": {\n "enum": [\n "artifact-bytes",\n "ast-static-analysis",\n "static-relationship-inference",\n "passive-cdp-runtime",\n "cross-layer-reconciliation",\n "cross-version-comparison",\n "controlled-replay",\n "native-analysis-provider",\n "managed-static-analysis",\n "historical-reference",\n "user-assertion",\n "unknown"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "exact",\n "high",\n "medium",\n "low",\n "unknown"\n ],\n "type": "string"\n },\n "coverage": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "const": 0,\n "type": "number"\n },\n "status": {\n "const": "complete",\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "partial",\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "omitted_count": {\n "anyOf": [\n {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "partial",\n "type": "string"\n },\n "truncated": {\n "const": true,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "type": "null"\n },\n "status": {\n "enum": [\n "unknown",\n "unavailable"\n ],\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n }\n ]\n },\n "evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "extractor": {\n "additionalProperties": false,\n "properties": {\n "executable_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "version",\n "operation",\n "executable_sha256"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "location": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "value": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "line",\n "column"\n ],\n "type": "object"\n },\n "kind": {\n "const": "source-range",\n "type": "string"\n },\n "source": {\n "minLength": 1,\n "type": "string"\n },\n "start": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "line",\n "column"\n ],\n "type": "object"\n }\n },\n "required": [\n "kind",\n "source",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "url",\n "type": "string"\n },\n "url": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "url"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "capture_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "frame_key": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "kind": {\n "const": "runtime",\n "type": "string"\n },\n "script_key": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "target_key": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "capture_sha256",\n "target_key",\n "frame_key",\n "script_key"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "native-address",\n "type": "string"\n },\n "symbol": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "kind",\n "address",\n "symbol"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "export_path": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "package-export",\n "type": "string"\n },\n "package_name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "package_name",\n "export_path"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "available",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "enum": [\n "not-applicable",\n "not-observed",\n "truncated",\n "provider-unavailable",\n "unresolved",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason",\n "detail"\n ],\n "type": "object"\n }\n ]\n },\n "state": {\n "enum": [\n "observed",\n "inferred",\n "unknown",\n "unavailable"\n ],\n "type": "string"\n }\n },\n "required": [\n "authority",\n "state",\n "confidence",\n "artifact",\n "location",\n "extractor",\n "coverage",\n "limitations",\n "evidence_ids"\n ],\n "type": "object"\n },\n "function_node_id": {\n "anyOf": [\n {\n "pattern": "^jsrg_node_[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "identifier_strategy": {\n "additionalProperties": false,\n "properties": {\n "stability": {\n "const": "artifact-version",\n "type": "string"\n },\n "strategy": {\n "const": "semantic-content-sha256",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability"\n ],\n "type": "object"\n },\n "identity": {\n "additionalProperties": false,\n "properties": {\n "artifact_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "module_path": {\n "minLength": 1,\n "type": "string"\n },\n "role_key": {\n "minLength": 1,\n "type": "string"\n },\n "source_range": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "line",\n "column"\n ],\n "type": "object"\n },\n "start": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "line",\n "column"\n ],\n "type": "object"\n }\n },\n "required": [\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "artifact_sha256",\n "module_path",\n "source_range",\n "role_key"\n ],\n "type": "object"\n },\n "kind": {\n "enum": [\n "module",\n "function",\n "parameter",\n "binding",\n "expression",\n "literal",\n "property-slot",\n "call-site",\n "return-site",\n "closure-capture",\n "promise",\n "task",\n "event",\n "listener",\n "timer",\n "child-process",\n "stdio",\n "signal",\n "config-source",\n "request",\n "response",\n "boundary",\n "resource",\n "unknown-frontier"\n ],\n "type": "string"\n },\n "label": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "node_id": {\n "pattern": "^jsrg_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "properties": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "minLength": 1,\n "type": "string"\n },\n "type": "object"\n }\n },\n "required": [\n "kind",\n "identity",\n "function_node_id",\n "application_node_ids",\n "label",\n "properties",\n "evidence",\n "node_id",\n "identifier_strategy"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "relations": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "artifact": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "artifact_id": {\n "pattern": "^art_[a-f0-9]{64}$",\n "type": "string"\n },\n "available": {\n "const": true,\n "type": "boolean"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "available",\n "artifact_id",\n "sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "enum": [\n "not-applicable",\n "not-observed",\n "truncated",\n "provider-unavailable",\n "unresolved",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason",\n "detail"\n ],\n "type": "object"\n }\n ]\n },\n "authority": {\n "enum": [\n "artifact-bytes",\n "ast-static-analysis",\n "static-relationship-inference",\n "passive-cdp-runtime",\n "cross-layer-reconciliation",\n "cross-version-comparison",\n "controlled-replay",\n "native-analysis-provider",\n "managed-static-analysis",\n "historical-reference",\n "user-assertion",\n "unknown"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "exact",\n "high",\n "medium",\n "low",\n "unknown"\n ],\n "type": "string"\n },\n "coverage": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "const": 0,\n "type": "number"\n },\n "status": {\n "const": "complete",\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "partial",\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "omitted_count": {\n "anyOf": [\n {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "partial",\n "type": "string"\n },\n "truncated": {\n "const": true,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "type": "null"\n },\n "status": {\n "enum": [\n "unknown",\n "unavailable"\n ],\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n }\n ]\n },\n "evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "extractor": {\n "additionalProperties": false,\n "properties": {\n "executable_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "version",\n "operation",\n "executable_sha256"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "location": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "value": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "line",\n "column"\n ],\n "type": "object"\n },\n "kind": {\n "const": "source-range",\n "type": "string"\n },\n "source": {\n "minLength": 1,\n "type": "string"\n },\n "start": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "line",\n "column"\n ],\n "type": "object"\n }\n },\n "required": [\n "kind",\n "source",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "url",\n "type": "string"\n },\n "url": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "url"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "capture_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "frame_key": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "kind": {\n "const": "runtime",\n "type": "string"\n },\n "script_key": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "target_key": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "capture_sha256",\n "target_key",\n "frame_key",\n "script_key"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "native-address",\n "type": "string"\n },\n "symbol": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "kind",\n "address",\n "symbol"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "export_path": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "package-export",\n "type": "string"\n },\n "package_name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "package_name",\n "export_path"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "available",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "enum": [\n "not-applicable",\n "not-observed",\n "truncated",\n "provider-unavailable",\n "unresolved",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason",\n "detail"\n ],\n "type": "object"\n }\n ]\n },\n "state": {\n "enum": [\n "observed",\n "inferred",\n "unknown",\n "unavailable"\n ],\n "type": "string"\n }\n },\n "required": [\n "authority",\n "state",\n "confidence",\n "artifact",\n "location",\n "extractor",\n "coverage",\n "limitations",\n "evidence_ids"\n ],\n "type": "object"\n },\n "identifier_strategy": {\n "additionalProperties": false,\n "properties": {\n "stability": {\n "const": "relationship-exact",\n "type": "string"\n },\n "strategy": {\n "const": "semantic-content-sha256",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability"\n ],\n "type": "object"\n },\n "properties": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "minLength": 1,\n "type": "string"\n },\n "type": "object"\n },\n "relation": {\n "enum": [\n "acquires",\n "aggregates",\n "aliases",\n "argument-to-parameter",\n "awaits",\n "calls",\n "cancels-timer",\n "captures",\n "chains",\n "coerces",\n "connects-stdio",\n "consumed-by",\n "constructs-request",\n "creates-promise",\n "defaults",\n "defines",\n "destructures",\n "detaches-task",\n "dispatches-candidate",\n "forwards-signal",\n "listens-error",\n "listens-exit",\n "owns",\n "overrides",\n "parses",\n "reads",\n "reads-argv",\n "reads-config",\n "reads-environment",\n "reads-property",\n "registers-listener",\n "releases",\n "removes-listener",\n "returns-task",\n "returns-to-call",\n "schedules-timer",\n "spawns",\n "spreads",\n "supplies-argv",\n "supplies-env",\n "supplies-request-field",\n "validates",\n "writes",\n "writes-property"\n ],\n "type": "string"\n },\n "relation_id": {\n "pattern": "^jsrg_relation_[a-f0-9]{64}$",\n "type": "string"\n },\n "resolution": {\n "enum": [\n "resolved",\n "candidate"\n ],\n "type": "string"\n },\n "source_node_id": {\n "pattern": "^jsrg_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "target_node_id": {\n "pattern": "^jsrg_node_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "source_node_id",\n "target_node_id",\n "relation",\n "resolution",\n "properties",\n "evidence",\n "relation_id",\n "identifier_strategy"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "root_artifact_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "root_node_ids": {\n "items": {\n "pattern": "^jsrg_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "schema": {\n "const": "JavaScriptSemanticRelationGraph",\n "type": "string"\n },\n "unknowns": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "candidate_node_ids": {\n "items": {\n "pattern": "^jsrg_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "artifact": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "artifact_id": {\n "pattern": "^art_[a-f0-9]{64}$",\n "type": "string"\n },\n "available": {\n "const": true,\n "type": "boolean"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "available",\n "artifact_id",\n "sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "enum": [\n "not-applicable",\n "not-observed",\n "truncated",\n "provider-unavailable",\n "unresolved",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason",\n "detail"\n ],\n "type": "object"\n }\n ]\n },\n "authority": {\n "enum": [\n "artifact-bytes",\n "ast-static-analysis",\n "static-relationship-inference",\n "passive-cdp-runtime",\n "cross-layer-reconciliation",\n "cross-version-comparison",\n "controlled-replay",\n "native-analysis-provider",\n "managed-static-analysis",\n "historical-reference",\n "user-assertion",\n "unknown"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "exact",\n "high",\n "medium",\n "low",\n "unknown"\n ],\n "type": "string"\n },\n "coverage": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "const": 0,\n "type": "number"\n },\n "status": {\n "const": "complete",\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "partial",\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "omitted_count": {\n "anyOf": [\n {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "partial",\n "type": "string"\n },\n "truncated": {\n "const": true,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "type": "null"\n },\n "status": {\n "enum": [\n "unknown",\n "unavailable"\n ],\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n }\n ]\n },\n "evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "extractor": {\n "additionalProperties": false,\n "properties": {\n "executable_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "version",\n "operation",\n "executable_sha256"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "location": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "value": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "line",\n "column"\n ],\n "type": "object"\n },\n "kind": {\n "const": "source-range",\n "type": "string"\n },\n "source": {\n "minLength": 1,\n "type": "string"\n },\n "start": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "line",\n "column"\n ],\n "type": "object"\n }\n },\n "required": [\n "kind",\n "source",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "url",\n "type": "string"\n },\n "url": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "url"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "capture_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "frame_key": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "kind": {\n "const": "runtime",\n "type": "string"\n },\n "script_key": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "target_key": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "capture_sha256",\n "target_key",\n "frame_key",\n "script_key"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "native-address",\n "type": "string"\n },\n "symbol": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "kind",\n "address",\n "symbol"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "export_path": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "package-export",\n "type": "string"\n },\n "package_name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "package_name",\n "export_path"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "available",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "enum": [\n "not-applicable",\n "not-observed",\n "truncated",\n "provider-unavailable",\n "unresolved",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason",\n "detail"\n ],\n "type": "object"\n }\n ]\n },\n "state": {\n "enum": [\n "observed",\n "inferred",\n "unknown",\n "unavailable"\n ],\n "type": "string"\n }\n },\n "required": [\n "authority",\n "state",\n "confidence",\n "artifact",\n "location",\n "extractor",\n "coverage",\n "limitations",\n "evidence_ids"\n ],\n "type": "object"\n },\n "family": {\n "enum": [\n "boundary",\n "call-flow",\n "child-process",\n "closure",\n "configuration",\n "data-flow",\n "event",\n "object-flow",\n "promise-ownership",\n "request",\n "resource-lifecycle",\n "timer"\n ],\n "type": "string"\n },\n "node_id": {\n "anyOf": [\n {\n "pattern": "^jsrg_node_[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "reason": {\n "enum": [\n "ambiguous-target",\n "bound-reached",\n "dynamic-call",\n "dynamic-property",\n "dynamic-scope",\n "eval-or-generated-code",\n "incomplete-module",\n "missing-source",\n "unsupported-syntax"\n ],\n "type": "string"\n },\n "relation_kinds": {\n "items": {\n "enum": [\n "acquires",\n "aggregates",\n "aliases",\n "argument-to-parameter",\n "awaits",\n "calls",\n "cancels-timer",\n "captures",\n "chains",\n "coerces",\n "connects-stdio",\n "consumed-by",\n "constructs-request",\n "creates-promise",\n "defaults",\n "defines",\n "destructures",\n "detaches-task",\n "dispatches-candidate",\n "forwards-signal",\n "listens-error",\n "listens-exit",\n "owns",\n "overrides",\n "parses",\n "reads",\n "reads-argv",\n "reads-config",\n "reads-environment",\n "reads-property",\n "registers-listener",\n "releases",\n "removes-listener",\n "returns-task",\n "returns-to-call",\n "schedules-timer",\n "spawns",\n "spreads",\n "supplies-argv",\n "supplies-env",\n "supplies-request-field",\n "validates",\n "writes",\n "writes-property"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "unknown_id": {\n "pattern": "^jsrg_unknown_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "node_id",\n "family",\n "relation_kinds",\n "reason",\n "detail",\n "candidate_node_ids",\n "evidence",\n "unknown_id"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "schema",\n "root_artifact_sha256",\n "application_graph_id",\n "root_node_ids",\n "nodes",\n "relations",\n "fingerprints",\n "unknowns",\n "coverage",\n "limitations",\n "graph_id"\n ],\n "type": "object"\n },\n "statistics": {\n "additionalProperties": false,\n "properties": {\n "findings": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "invalid_utf8_files": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "modules": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "nested_asar_containers": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "parse_failures": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "parsed_javascript_files": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "relevant_files": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "text_bytes_read": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "truncated_scopes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "visited_ast_nodes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "relevant_files",\n "nested_asar_containers",\n "text_bytes_read",\n "invalid_utf8_files",\n "parsed_javascript_files",\n "visited_ast_nodes",\n "findings",\n "modules",\n "parse_failures",\n "truncated_scopes"\n ],\n "type": "object"\n },\n "summary": {\n "additionalProperties": false,\n "properties": {\n "browser_windows": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "context_bridge_apis": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "explicit_web_preferences": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "exposed_api_members": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "ipc": {\n "additionalProperties": false,\n "properties": {\n "ambiguous_renderer_transmissions": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "dynamic_channel_operations": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "literal_channels": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "main_handlers": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "operations": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "paired_renderer_transmissions": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "renderer_listeners": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "renderer_transmissions": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "unpaired_literal_renderer_transmissions": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "operations",\n "literal_channels",\n "dynamic_channel_operations",\n "renderer_transmissions",\n "renderer_listeners",\n "main_handlers",\n "paired_renderer_transmissions",\n "ambiguous_renderer_transmissions",\n "unpaired_literal_renderer_transmissions"\n ],\n "type": "object"\n },\n "native_addon_bindings": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "preload_entrypoints": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "resolved_native_addon_bindings": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "resolved_utility_entrypoints": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "sender_validation_observations": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "utility_processes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "browser_windows",\n "explicit_web_preferences",\n "preload_entrypoints",\n "context_bridge_apis",\n "exposed_api_members",\n "ipc",\n "sender_validation_observations",\n "utility_processes",\n "resolved_utility_entrypoints",\n "native_addon_bindings",\n "resolved_native_addon_bindings"\n ],\n "type": "object"\n }\n },\n "required": [\n "input_path",\n "format",\n "root_artifact_sha256",\n "inventory_manifest_id",\n "inventory_graph_sha256",\n "graph",\n "summary",\n "statistics",\n "integrity_contradictions",\n "limitations",\n "semantic_graph"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Analyze Javascript Application"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Reconcile verified static JavaScript application graphs with existing passive web/Electron CDP, passive V8 Inspector, or provider-owned active Electron Evidence. Active Electron captures contribute an explicitly partial target-only runtime record; they never invent renderer scripts, frames, workers, or execution claims. 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.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "runtime_observations": [\n {\n "authority": "external-service",\n "confidence": "observed",\n "environment": null,\n "evidence_id": "ev_a42606ee799a093832ad3d6cfd0edd50dc9b99f78cc6d5d9130b734d48a56b4e",\n "evidence_links": [],\n "limitations": [\n "Artifact identity is unavailable for this observation."\n ],\n "locations": [],\n "normalized_result": {\n "browser": {\n "js_version": "1",\n "product": "Electron/example",\n "protocol_version": "1.3",\n "revision": "example",\n "user_agent": "Electron example"\n },\n "capture_window": {\n "ended_at": "2026-07-15T00:00:00.100Z",\n "observation_ms": 100,\n "started_at": "2026-07-15T00:00:00.000Z"\n },\n "completeness": {\n "attach_limited_sections": [],\n "conditions": [\n "complete_within_window"\n ],\n "dropped_events": {\n "console_events": 0,\n "network_requests": 0,\n "scripts": 0,\n "timeline_events": 0,\n "total": 0,\n "webmcp_tools": 0,\n "websocket_connections": 0,\n "websocket_frames": 0\n },\n "excluded": [],\n "policy_filtered_sections": [],\n "status": "complete_within_window",\n "truncated_sections": [],\n "unavailable_sections": []\n },\n "dom": {\n "nodes": [],\n "total_nodes": 0\n },\n "frames": [],\n "limitations": [\n "Example passive capture."\n ],\n "resources": [],\n "scripts": {\n "items": [\n {\n "cdp_hash": "example",\n "file_path": "/Applications/Example.app/Contents/Resources/app/renderer.js",\n "frame_id": null,\n "is_module": true,\n "language": "JavaScript",\n "length": 29,\n "script_key": "electron_script_4444444444444444444444444444444444444444444444444444444444444444",\n "source": {\n "artifact": {\n "bytes": 29,\n "charset": "utf-8",\n "media_type": "text/javascript",\n "sha256": "c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64",\n "text": "export const example = true;\\n"\n },\n "included": true\n }\n }\n ],\n "total": 1\n },\n "target": {\n "attached": false,\n "file_path": "/Applications/Example.app/Contents/Resources/app/index.html",\n "target_id": "example-target",\n "title": "Example",\n "type": "page"\n },\n "workers": []\n },\n "operation": "inspect_electron_page",\n "parameters": {\n "cdp_endpoint": "http://127.0.0.1:9223",\n "include_script_sources": true,\n "target_id": "example-target"\n },\n "predicate_type": "rea.electron-page-inspection",\n "provider": {\n "id": "rea-cdp-electron",\n "name": "REA Electron file-page CDP observation provider",\n "version": "1"\n },\n "raw_result": null,\n "subject": null\n }\n ],\n "static_layers": [\n {\n "analysis": {\n "authority": "shipped-artifact",\n "confidence": "derived",\n "environment": null,\n "evidence_id": "ev_a4ae2c7b5c501fb6dff695b168f35a6dd157fa957410910684f3a4ce4c8b5d54",\n "evidence_links": [],\n "limitations": [],\n "locations": [],\n "normalized_result": {\n "format": "directory",\n "graph": {\n "coverage": {\n "limits": [],\n "omitted_count": 0,\n "status": "complete",\n "truncated": false\n },\n "edges": [],\n "graph_id": "jag_ab15669664efc0a86bb49c9c60241913cce6980dc2293fbeef6d9c862ca01d9d",\n "limitations": [],\n "nodes": [\n {\n "identity": {\n "sha256": "c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64",\n "stability": "global-exact",\n "strategy": "content-digest"\n },\n "kind": "javascript-asset",\n "node_id": "jag_node_3c82da5492d90eb5b0bee41c1a994d88b7ba98c0b4955270d70e57a76e224c2e",\n "observations": [\n {\n "evidence": {\n "artifact": {\n "artifact_id": "art_c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64",\n "available": true,\n "sha256": "c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64"\n },\n "authority": "artifact-bytes",\n "confidence": "exact",\n "coverage": {\n "limits": [],\n "omitted_count": 0,\n "status": "complete",\n "truncated": false\n },\n "evidence_ids": [],\n "extractor": {\n "executable_sha256": null,\n "name": "rea-javascript-application",\n "operation": "inventory-relevant-file",\n "version": "1"\n },\n "limitations": [],\n "location": {\n "available": true,\n "value": {\n "kind": "artifact-path",\n "path": "renderer.js"\n }\n },\n "state": "observed"\n },\n "identifier_strategy": {\n "stability": "observation-exact",\n "strategy": "semantic-content-sha256"\n },\n "label": "renderer.js",\n "observation_id": "jag_observation_20b4d076ce370db14ae2b477915624c62e0c4a0c9e56803a2c5cb4fa60c16230",\n "properties": {\n "bytes": 29,\n "path": "renderer.js"\n }\n }\n ]\n }\n ],\n "root_node_ids": [\n "jag_node_3c82da5492d90eb5b0bee41c1a994d88b7ba98c0b4955270d70e57a76e224c2e"\n ],\n "schema": "JavaScriptApplicationGraph"\n },\n "input_path": "/Applications/Example.app/Contents/Resources/app",\n "inventory_graph_sha256": "3333333333333333333333333333333333333333333333333333333333333333",\n "inventory_manifest_id": "agm_2222222222222222222222222222222222222222222222222222222222222222",\n "limitations": [],\n "root_artifact_sha256": "1111111111111111111111111111111111111111111111111111111111111111",\n "semantic_graph": {\n "application_graph_id": "jag_ab15669664efc0a86bb49c9c60241913cce6980dc2293fbeef6d9c862ca01d9d",\n "coverage": {\n "families": [\n {\n "family": "boundary",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "call-flow",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "child-process",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "closure",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "configuration",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "data-flow",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "event",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "object-flow",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "promise-ownership",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "request",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "resource-lifecycle",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "timer",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n }\n ],\n "limits": [],\n "omitted_nodes": 0,\n "omitted_relations": 0,\n "status": "unknown",\n "truncated": false\n },\n "fingerprints": [],\n "graph_id": "jsrg_08c925d2bf4ef56d770e0e67901d5bdfb610744cf001a50d36c9bb6dcb195508",\n "limitations": [\n "Semantic relations are unavailable in this minimal example."\n ],\n "nodes": [\n {\n "application_node_ids": [\n "jag_node_3c82da5492d90eb5b0bee41c1a994d88b7ba98c0b4955270d70e57a76e224c2e"\n ],\n "evidence": {\n "artifact": {\n "artifact_id": "art_c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64",\n "available": true,\n "sha256": "c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64"\n },\n "authority": "artifact-bytes",\n "confidence": "exact",\n "coverage": {\n "limits": [],\n "omitted_count": 0,\n "status": "complete",\n "truncated": false\n },\n "evidence_ids": [],\n "extractor": {\n "executable_sha256": null,\n "name": "rea-javascript-application",\n "operation": "inventory-relevant-file",\n "version": "1"\n },\n "limitations": [],\n "location": {\n "available": true,\n "value": {\n "kind": "artifact-path",\n "path": "renderer.js"\n }\n },\n "state": "observed"\n },\n "function_node_id": null,\n "identifier_strategy": {\n "stability": "artifact-version",\n "strategy": "semantic-content-sha256"\n },\n "identity": {\n "artifact_sha256": "1111111111111111111111111111111111111111111111111111111111111111",\n "module_path": "renderer.js",\n "role_key": "example-module",\n "source_range": null\n },\n "kind": "module",\n "label": "renderer.js",\n "node_id": "jsrg_node_9476602f1f74433a2bd3dadb040a25734d203b8f831b31a8d96f7efdfc5cd66a",\n "properties": {}\n }\n ],\n "relations": [],\n "root_artifact_sha256": "1111111111111111111111111111111111111111111111111111111111111111",\n "root_node_ids": [\n "jsrg_node_9476602f1f74433a2bd3dadb040a25734d203b8f831b31a8d96f7efdfc5cd66a"\n ],\n "schema": "JavaScriptSemanticRelationGraph",\n "unknowns": []\n },\n "statistics": {\n "findings": 0,\n "invalid_utf8_files": 0,\n "modules": 0,\n "nested_asar_containers": 0,\n "parse_failures": 0,\n "parsed_javascript_files": 1,\n "relevant_files": 1,\n "text_bytes_read": 29,\n "truncated_scopes": 0,\n "visited_ast_nodes": 1\n },\n "summary": {\n "browser_windows": 0,\n "context_bridge_apis": 0,\n "explicit_web_preferences": 0,\n "exposed_api_members": 0,\n "ipc": {\n "ambiguous_renderer_transmissions": 0,\n "dynamic_channel_operations": 0,\n "literal_channels": 0,\n "main_handlers": 0,\n "operations": 0,\n "paired_renderer_transmissions": 0,\n "renderer_listeners": 0,\n "renderer_transmissions": 0,\n "unpaired_literal_renderer_transmissions": 0\n },\n "native_addon_bindings": 0,\n "preload_entrypoints": 0,\n "resolved_native_addon_bindings": 0,\n "resolved_utility_entrypoints": 0,\n "sender_validation_observations": 0,\n "utility_processes": 0\n }\n },\n "operation": "analyze_javascript_application",\n "parameters": {},\n "predicate_type": "rea.javascript-application-analysis",\n "provider": {\n "id": "rea-javascript-application",\n "name": "REA JavaScript application analyzer",\n "version": "1"\n },\n "raw_result": null,\n "subject": {\n "architecture": null,\n "digest": {\n "sha256": "1111111111111111111111111111111111111111111111111111111111111111"\n },\n "format": "directory",\n "local_path": "/Applications/Example.app/Contents/Resources/app",\n "name": "app"\n }\n }\n }\n ]\n }\n ],\n "properties": {\n "runtime_observations": {\n "description": "Value for runtime observations.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "description": "Value for analysis profile.",\n "properties": {\n "digest": {\n "description": "Value for digest.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "description": "Value for version.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "description": "Value for authority.",\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "description": "Value for confidence.",\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "description": "Value for architecture.",\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "description": "Value for isolation.",\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "description": "Value for platform.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for environment."\n },\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "description": "Value for evidence links.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "description": "Value for locations.",\n "items": {\n "oneOf": [\n {\n "properties": {\n "address": {\n "description": "Value for address.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "artifact-path",\n "description": "Value for kind.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "file-offset",\n "description": "Value for kind.",\n "type": "string"\n },\n "offset": {\n "description": "Value for offset.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0",\n "description": "Value for normalized result."\n },\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "description": "Value for predicate type.",\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for version."\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for raw result."\n },\n "subject": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "digest": {\n "description": "Value for digest.",\n "properties": {\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "description": "Declared input artifact format.",\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "description": "Local filesystem path for local.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for subject."\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "static_layers": {\n "description": "Value for static layers.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "analysis": {\n "additionalProperties": false,\n "description": "Value for analysis.",\n "properties": {\n "analysis_profile": {\n "description": "Value for analysis profile.",\n "properties": {\n "digest": {\n "description": "Value for digest.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "description": "Value for version.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "description": "Value for authority.",\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "description": "Value for confidence.",\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "description": "Value for architecture.",\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "description": "Value for isolation.",\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "description": "Value for platform.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for environment."\n },\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "description": "Value for evidence links.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "description": "Value for locations.",\n "items": {\n "oneOf": [\n {\n "properties": {\n "address": {\n "description": "Value for address.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "artifact-path",\n "description": "Value for kind.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "file-offset",\n "description": "Value for kind.",\n "type": "string"\n },\n "offset": {\n "description": "Value for offset.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0",\n "description": "Value for normalized result."\n },\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "description": "Value for predicate type.",\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for version."\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for raw result."\n },\n "subject": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "digest": {\n "description": "Value for digest.",\n "properties": {\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "description": "Declared input artifact format.",\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "description": "Local filesystem path for local.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for subject."\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "role": {\n "default": "application",\n "description": "Value for role.",\n "enum": [\n "application",\n "cache",\n "assets"\n ],\n "type": "string"\n },\n "runtime_mappings": {\n "default": [],\n "description": "Value for runtime mappings.",\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "artifact_prefix": {\n "default": "",\n "description": "Value for artifact prefix.",\n "type": "string"\n },\n "kind": {\n "const": "file-root",\n "description": "Value for kind.",\n "type": "string"\n },\n "root": {\n "description": "Value for root.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "root"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "artifact_prefix": {\n "default": "",\n "description": "Value for artifact prefix.",\n "type": "string"\n },\n "kind": {\n "const": "url-prefix",\n "description": "Value for kind.",\n "type": "string"\n },\n "prefix": {\n "description": "Value for prefix.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "prefix"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n }\n },\n "required": [\n "analysis"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "static_layers",\n "runtime_observations"\n ],\n "type": "object"\n },\n "kind": "electron-provider",\n "name": "reconcile_javascript_runtime",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "coverage": {\n "additionalProperties": false,\n "properties": {\n "omitted_graph_items": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "omitted_reconciliation_items": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "omitted_runtime_entities": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "omitted_static_load_states": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "status": {\n "enum": [\n "complete-within-inputs",\n "partial",\n "truncated"\n ],\n "type": "string"\n },\n "truncated": {\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_runtime_entities",\n "omitted_reconciliation_items",\n "omitted_static_load_states",\n "omitted_graph_items"\n ],\n "type": "object"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 2,\n "type": "array"\n },\n "graph": {\n "additionalProperties": false,\n "properties": {\n "coverage": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "const": 0,\n "type": "number"\n },\n "status": {\n "const": "complete",\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "partial",\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "omitted_count": {\n "anyOf": [\n {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "partial",\n "type": "string"\n },\n "truncated": {\n "const": true,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "type": "null"\n },\n "status": {\n "enum": [\n "unknown",\n "unavailable"\n ],\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n }\n ]\n },\n "edges": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "edge_id": {\n "pattern": "^jag_edge_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "artifact": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "artifact_id": {\n "pattern": "^art_[a-f0-9]{64}$",\n "type": "string"\n },\n "available": {\n "const": true,\n "type": "boolean"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "available",\n "artifact_id",\n "sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "enum": [\n "not-applicable",\n "not-observed",\n "truncated",\n "provider-unavailable",\n "unresolved",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason",\n "detail"\n ],\n "type": "object"\n }\n ]\n },\n "authority": {\n "enum": [\n "artifact-bytes",\n "ast-static-analysis",\n "static-relationship-inference",\n "passive-cdp-runtime",\n "cross-layer-reconciliation",\n "cross-version-comparison",\n "controlled-replay",\n "native-analysis-provider",\n "managed-static-analysis",\n "historical-reference",\n "user-assertion",\n "unknown"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "exact",\n "high",\n "medium",\n "low",\n "unknown"\n ],\n "type": "string"\n },\n "coverage": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "const": 0,\n "type": "number"\n },\n "status": {\n "const": "complete",\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "partial",\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "omitted_count": {\n "anyOf": [\n {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "partial",\n "type": "string"\n },\n "truncated": {\n "const": true,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "type": "null"\n },\n "status": {\n "enum": [\n "unknown",\n "unavailable"\n ],\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n }\n ]\n },\n "evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "extractor": {\n "additionalProperties": false,\n "properties": {\n "executable_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "version",\n "operation",\n "executable_sha256"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "location": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "value": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "line",\n "column"\n ],\n "type": "object"\n },\n "kind": {\n "const": "source-range",\n "type": "string"\n },\n "source": {\n "minLength": 1,\n "type": "string"\n },\n "start": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "line",\n "column"\n ],\n "type": "object"\n }\n },\n "required": [\n "kind",\n "source",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "url",\n "type": "string"\n },\n "url": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "url"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "capture_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "frame_key": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "kind": {\n "const": "runtime",\n "type": "string"\n },\n "script_key": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "target_key": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "capture_sha256",\n "target_key",\n "frame_key",\n "script_key"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "native-address",\n "type": "string"\n },\n "symbol": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "kind",\n "address",\n "symbol"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "export_path": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "package-export",\n "type": "string"\n },\n "package_name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "package_name",\n "export_path"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "available",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "enum": [\n "not-applicable",\n "not-observed",\n "truncated",\n "provider-unavailable",\n "unresolved",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason",\n "detail"\n ],\n "type": "object"\n }\n ]\n },\n "state": {\n "enum": [\n "observed",\n "inferred",\n "unknown",\n "unavailable"\n ],\n "type": "string"\n }\n },\n "required": [\n "authority",\n "state",\n "confidence",\n "artifact",\n "location",\n "extractor",\n "coverage",\n "limitations",\n "evidence_ids"\n ],\n "type": "object"\n },\n "identifier_strategy": {\n "additionalProperties": false,\n "properties": {\n "stability": {\n "const": "relationship-exact",\n "type": "string"\n },\n "strategy": {\n "const": "semantic-content-sha256",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability"\n ],\n "type": "object"\n },\n "properties": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "minLength": 1,\n "type": "string"\n },\n "type": "object"\n },\n "relation": {\n "enum": [\n "contains",\n "loads",\n "imports",\n "maps_to",\n "exposes",\n "sends",\n "invokes",\n "handles",\n "calls",\n "persists_to",\n "observed_as",\n "changed_from"\n ],\n "type": "string"\n },\n "source_node_id": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "target_node_id": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "source_node_id",\n "target_node_id",\n "relation",\n "properties",\n "evidence",\n "edge_id",\n "identifier_strategy"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "graph_id": {\n "pattern": "^jag_[a-f0-9]{64}$",\n "type": "string"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "nodes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "identity": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "stability": {\n "const": "global-exact",\n "type": "string"\n },\n "strategy": {\n "const": "content-digest",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability",\n "sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "original_source": {\n "type": "string"\n },\n "source_map_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "source_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "stability": {\n "const": "source-map-exact",\n "type": "string"\n },\n "strategy": {\n "const": "source-map-original",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability",\n "source_map_sha256",\n "original_source",\n "source_sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "artifact_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n },\n "stability": {\n "const": "artifact-version",\n "type": "string"\n },\n "strategy": {\n "const": "canonical-path",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability",\n "artifact_sha256",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "algorithm": {\n "minLength": 1,\n "type": "string"\n },\n "basis": {\n "items": {\n "enum": [\n "syntax-tree",\n "control-flow",\n "imports",\n "exports",\n "literals",\n "api-usage"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "fingerprint_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "stability": {\n "const": "cross-version-inference",\n "type": "string"\n },\n "strategy": {\n "const": "structural-fingerprint",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability",\n "algorithm",\n "fingerprint_sha256",\n "basis"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "artifact_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "key": {\n "type": "string"\n },\n "namespace": {\n "minLength": 1,\n "type": "string"\n },\n "stability": {\n "const": "artifact-version",\n "type": "string"\n },\n "strategy": {\n "const": "artifact-local-key",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability",\n "artifact_sha256",\n "namespace",\n "key"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "capture_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "runtime_key": {\n "minLength": 1,\n "type": "string"\n },\n "stability": {\n "const": "capture-only",\n "type": "string"\n },\n "strategy": {\n "const": "runtime-instance",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability",\n "capture_sha256",\n "runtime_key"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "observation_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "scope": {\n "minLength": 1,\n "type": "string"\n },\n "stability": {\n "const": "observation-only",\n "type": "string"\n },\n "strategy": {\n "const": "observation-fingerprint",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability",\n "observation_sha256",\n "scope"\n ],\n "type": "object"\n }\n ]\n },\n "kind": {\n "enum": [\n "package",\n "installer",\n "artifact",\n "asar-entry",\n "electron-main",\n "electron-preload",\n "electron-renderer",\n "electron-utility",\n "javascript-asset",\n "javascript-chunk",\n "javascript-module",\n "source-map",\n "source-module",\n "browser-window",\n "frame",\n "target",\n "context-bridge-api",\n "ipc-channel",\n "ipc-handler",\n "worker",\n "service-worker",\n "endpoint",\n "storage",\n "native-addon",\n "native-export",\n "managed-assembly",\n "managed-module",\n "managed-type",\n "managed-method",\n "managed-field",\n "managed-pinvoke-import",\n "managed-native-implementation",\n "runtime-script-instance",\n "unknown"\n ],\n "type": "string"\n },\n "node_id": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "observations": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "artifact": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "artifact_id": {\n "pattern": "^art_[a-f0-9]{64}$",\n "type": "string"\n },\n "available": {\n "const": true,\n "type": "boolean"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "available",\n "artifact_id",\n "sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "enum": [\n "not-applicable",\n "not-observed",\n "truncated",\n "provider-unavailable",\n "unresolved",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason",\n "detail"\n ],\n "type": "object"\n }\n ]\n },\n "authority": {\n "enum": [\n "artifact-bytes",\n "ast-static-analysis",\n "static-relationship-inference",\n "passive-cdp-runtime",\n "cross-layer-reconciliation",\n "cross-version-comparison",\n "controlled-replay",\n "native-analysis-provider",\n "managed-static-analysis",\n "historical-reference",\n "user-assertion",\n "unknown"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "exact",\n "high",\n "medium",\n "low",\n "unknown"\n ],\n "type": "string"\n },\n "coverage": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "const": 0,\n "type": "number"\n },\n "status": {\n "const": "complete",\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "partial",\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "omitted_count": {\n "anyOf": [\n {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "partial",\n "type": "string"\n },\n "truncated": {\n "const": true,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "type": "null"\n },\n "status": {\n "enum": [\n "unknown",\n "unavailable"\n ],\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n }\n ]\n },\n "evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "extractor": {\n "additionalProperties": false,\n "properties": {\n "executable_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "version",\n "operation",\n "executable_sha256"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "location": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "value": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "line",\n "column"\n ],\n "type": "object"\n },\n "kind": {\n "const": "source-range",\n "type": "string"\n },\n "source": {\n "minLength": 1,\n "type": "string"\n },\n "start": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "line",\n "column"\n ],\n "type": "object"\n }\n },\n "required": [\n "kind",\n "source",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "url",\n "type": "string"\n },\n "url": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "url"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "capture_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "frame_key": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "kind": {\n "const": "runtime",\n "type": "string"\n },\n "script_key": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "target_key": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "capture_sha256",\n "target_key",\n "frame_key",\n "script_key"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "native-address",\n "type": "string"\n },\n "symbol": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "kind",\n "address",\n "symbol"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "export_path": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "package-export",\n "type": "string"\n },\n "package_name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "package_name",\n "export_path"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "available",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "enum": [\n "not-applicable",\n "not-observed",\n "truncated",\n "provider-unavailable",\n "unresolved",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason",\n "detail"\n ],\n "type": "object"\n }\n ]\n },\n "state": {\n "enum": [\n "observed",\n "inferred",\n "unknown",\n "unavailable"\n ],\n "type": "string"\n }\n },\n "required": [\n "authority",\n "state",\n "confidence",\n "artifact",\n "location",\n "extractor",\n "coverage",\n "limitations",\n "evidence_ids"\n ],\n "type": "object"\n },\n "identifier_strategy": {\n "additionalProperties": false,\n "properties": {\n "stability": {\n "const": "observation-exact",\n "type": "string"\n },\n "strategy": {\n "const": "semantic-content-sha256",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability"\n ],\n "type": "object"\n },\n "label": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "observation_id": {\n "pattern": "^jag_observation_[a-f0-9]{64}$",\n "type": "string"\n },\n "properties": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "minLength": 1,\n "type": "string"\n },\n "type": "object"\n }\n },\n "required": [\n "label",\n "properties",\n "evidence",\n "observation_id",\n "identifier_strategy"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "node_id",\n "kind",\n "identity",\n "observations"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "root_node_ids": {\n "items": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "schema": {\n "const": "JavaScriptApplicationGraph",\n "type": "string"\n }\n },\n "required": [\n "schema",\n "root_node_ids",\n "nodes",\n "edges",\n "coverage",\n "limitations",\n "graph_id"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "reconciliation_id": {\n "pattern": "^jrr_[a-f0-9]{64}$",\n "type": "string"\n },\n "reconciliations": {\n "items": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "basis": {\n "enum": [\n "content-and-location",\n "content-sha256",\n "module-source-sha256",\n "artifact-path",\n "operator-file-mapping",\n "operator-url-mapping",\n "none"\n ],\n "type": "string"\n },\n "candidate_static_count": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "candidate_static_nodes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "static_layer_id": {\n "pattern": "^jrl_[a-f0-9]{64}$",\n "type": "string"\n },\n "static_node_id": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "static_layer_id",\n "static_node_id"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "confidence": {\n "enum": [\n "exact",\n "high",\n "medium",\n "low",\n "unknown"\n ],\n "type": "string"\n },\n "entity_kind": {\n "enum": [\n "target",\n "frame",\n "script",\n "worker"\n ],\n "type": "string"\n },\n "reason": {\n "enum": [\n "content-and-location-match",\n "unique-content-match",\n "unique-location-match",\n "ambiguous-static-candidates",\n "captured-content-disagrees-with-static-location",\n "no-static-content-match",\n "no-authorized-location-mapping",\n "runtime-location-unresolved",\n "runtime-frame-unattributed",\n "static-or-runtime-coverage-incomplete",\n "reconciliation-limit-reached"\n ],\n "type": "string"\n },\n "reconciliation_id": {\n "pattern": "^jrr_item_[a-f0-9]{64}$",\n "type": "string"\n },\n "runtime_evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "runtime_node_id": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "static_layer_id": {\n "pattern": "^jrl_[a-f0-9]{64}$",\n "type": "string"\n },\n "static_node_id": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "status": {\n "const": "matched",\n "type": "string"\n }\n },\n "required": [\n "reconciliation_id",\n "entity_kind",\n "runtime_evidence_id",\n "runtime_node_id",\n "basis",\n "confidence",\n "reason",\n "candidate_static_count",\n "candidate_static_nodes",\n "static_layer_id",\n "static_node_id",\n "status"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "basis": {\n "enum": [\n "content-and-location",\n "content-sha256",\n "module-source-sha256",\n "artifact-path",\n "operator-file-mapping",\n "operator-url-mapping",\n "none"\n ],\n "type": "string"\n },\n "candidate_static_count": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "candidate_static_nodes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "static_layer_id": {\n "pattern": "^jrl_[a-f0-9]{64}$",\n "type": "string"\n },\n "static_node_id": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "static_layer_id",\n "static_node_id"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "confidence": {\n "enum": [\n "exact",\n "high",\n "medium",\n "low",\n "unknown"\n ],\n "type": "string"\n },\n "entity_kind": {\n "enum": [\n "target",\n "frame",\n "script",\n "worker"\n ],\n "type": "string"\n },\n "reason": {\n "enum": [\n "content-and-location-match",\n "unique-content-match",\n "unique-location-match",\n "ambiguous-static-candidates",\n "captured-content-disagrees-with-static-location",\n "no-static-content-match",\n "no-authorized-location-mapping",\n "runtime-location-unresolved",\n "runtime-frame-unattributed",\n "static-or-runtime-coverage-incomplete",\n "reconciliation-limit-reached"\n ],\n "type": "string"\n },\n "reconciliation_id": {\n "pattern": "^jrr_item_[a-f0-9]{64}$",\n "type": "string"\n },\n "runtime_evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "runtime_node_id": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "static_layer_id": {\n "type": "null"\n },\n "static_node_id": {\n "type": "null"\n },\n "status": {\n "enum": [\n "ambiguous",\n "unmatched",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "reconciliation_id",\n "entity_kind",\n "runtime_evidence_id",\n "runtime_node_id",\n "basis",\n "confidence",\n "reason",\n "candidate_static_count",\n "candidate_static_nodes",\n "static_layer_id",\n "static_node_id",\n "status"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "runtime_captures": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "capture_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "frames": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "enum": [\n "browser",\n "electron",\n "v8-inspector",\n "electron-active"\n ],\n "type": "string"\n },\n "scripts": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "scripts_complete_within_scope": {\n "type": "boolean"\n },\n "target_key": {\n "minLength": 1,\n "type": "string"\n },\n "target_location": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "unresolved",\n "type": "string"\n },\n "reason": {\n "const": "unverifiable-file-location",\n "type": "string"\n },\n "reported_url": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "reported_url",\n "reason"\n ],\n "type": "object"\n }\n ]\n },\n "target_node_id": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "workers": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "evidence_id",\n "capture_sha256",\n "kind",\n "target_node_id",\n "target_key",\n "target_location",\n "frames",\n "scripts",\n "workers",\n "scripts_complete_within_scope"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "source_map_authority": {\n "additionalProperties": false,\n "properties": {\n "limitation": {\n "minLength": 1,\n "type": "string"\n },\n "runtime_script_declarations": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "static_layer_count": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "used_for_primary_matching": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "used_for_primary_matching",\n "static_layer_count",\n "runtime_script_declarations",\n "limitation"\n ],\n "type": "object"\n },\n "static_layers": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "format": {\n "enum": [\n "asar",\n "directory"\n ],\n "type": "string"\n },\n "graph_id": {\n "pattern": "^jag_[a-f0-9]{64}$",\n "type": "string"\n },\n "input_path": {\n "minLength": 1,\n "type": "string"\n },\n "layer_id": {\n "pattern": "^jrl_[a-f0-9]{64}$",\n "type": "string"\n },\n "role": {\n "enum": [\n "application",\n "cache",\n "assets"\n ],\n "type": "string"\n },\n "root_artifact_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "runtime_mappings": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "artifact_prefix": {\n "default": "",\n "type": "string"\n },\n "kind": {\n "const": "file-root",\n "type": "string"\n },\n "root": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "root",\n "artifact_prefix"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "artifact_prefix": {\n "default": "",\n "type": "string"\n },\n "kind": {\n "const": "url-prefix",\n "type": "string"\n },\n "prefix": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "prefix",\n "artifact_prefix"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n }\n },\n "required": [\n "layer_id",\n "role",\n "evidence_id",\n "graph_id",\n "root_artifact_sha256",\n "input_path",\n "format",\n "runtime_mappings"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "static_load_states": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "enum": [\n "javascript-asset",\n "javascript-chunk",\n "javascript-module"\n ],\n "type": "string"\n },\n "reason": {\n "enum": [\n "runtime-script-correspondence",\n "containing-asset-was-loaded",\n "not-observed-in-bounded-capture",\n "layer-outside-runtime-scope",\n "static-or-runtime-coverage-incomplete"\n ],\n "type": "string"\n },\n "runtime_node_ids": {\n "items": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "static_layer_id": {\n "pattern": "^jrl_[a-f0-9]{64}$",\n "type": "string"\n },\n "static_node_id": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "status": {\n "enum": [\n "loaded",\n "resident-in-loaded-asset",\n "not-observed-in-capture",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "static_layer_id",\n "static_node_id",\n "kind",\n "status",\n "runtime_node_ids",\n "reason"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "summary": {\n "additionalProperties": false,\n "properties": {\n "ambiguous": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "matched": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "runtime_frames": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "runtime_scripts": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "runtime_targets": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "runtime_workers": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "static_loaded": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "static_not_observed": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "static_resident": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "static_unknown": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "unknown": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "unmatched": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "runtime_targets",\n "runtime_frames",\n "runtime_scripts",\n "runtime_workers",\n "matched",\n "ambiguous",\n "unmatched",\n "unknown",\n "static_loaded",\n "static_resident",\n "static_not_observed",\n "static_unknown"\n ],\n "type": "object"\n }\n },\n "required": [\n "reconciliation_id",\n "static_layers",\n "runtime_captures",\n "graph",\n "summary",\n "reconciliations",\n "static_load_states",\n "source_map_authority",\n "coverage",\n "evidence_links",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Reconcile Javascript Runtime"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": true,\n "idempotentHint": false,\n "openWorldHint": true,\n "readOnlyHint": false\n },\n "description": "Use this for a provider-owned Electron run when passive CDP or Inspector observation cannot exercise application behavior. REA owns startup and teardown, accepts caller-defined click/wait actions plus window-targeted renderer reload/crash and synthetic open-url/second-instance delivery, and returns correlated window/WebContents/process/preload/session/navigation/shell/IPC evidence without retaining payload values. Results identify observed and unavailable event families, coverage status, action targets, and truncation. External shell, navigation, permission, download, popup, updater, and OS-integration effects are blocked and recorded. Use passive Electron tools for observation-only work.",\n "effects": {\n "accessesNetwork": true,\n "changesUiState": true,\n "idempotent": false,\n "launchesProcess": true,\n "mayDiscardData": true,\n "mutatesSession": true,\n "mutatesTarget": true,\n "writesFilesystem": true\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "actions": [\n {\n "kind": "click",\n "selector": "#run",\n "step_id": "exercise-ipc"\n }\n ],\n "application_path": "/Applications/Example.app/Contents/Resources/main.js",\n "args": [],\n "executable_path": "/Applications/Electron.app/Contents/MacOS/Electron"\n }\n ],\n "properties": {\n "actions": {\n "default": [],\n "description": "Value for actions.",\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "click",\n "description": "Value for kind.",\n "type": "string"\n },\n "selector": {\n "description": "Value for selector.",\n "minLength": 1,\n "type": "string"\n },\n "step_id": {\n "description": "Value for step id.",\n "minLength": 1,\n "type": "string"\n },\n "window_index": {\n "default": 0,\n "description": "Value for window index.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "step_id",\n "kind",\n "selector"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "duration_ms": {\n "description": "Value for duration ms.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "wait",\n "description": "Value for kind.",\n "type": "string"\n },\n "step_id": {\n "description": "Value for step id.",\n "minLength": 1,\n "type": "string"\n },\n "window_index": {\n "description": "Value for window index.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "step_id",\n "kind",\n "duration_ms"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "renderer-reload",\n "description": "Value for kind.",\n "type": "string"\n },\n "step_id": {\n "description": "Value for step id.",\n "minLength": 1,\n "type": "string"\n },\n "window_index": {\n "default": 0,\n "description": "Value for window index.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "step_id",\n "kind"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "renderer-crash",\n "description": "Value for kind.",\n "type": "string"\n },\n "step_id": {\n "description": "Value for step id.",\n "minLength": 1,\n "type": "string"\n },\n "window_index": {\n "default": 0,\n "description": "Value for window index.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "step_id",\n "kind"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "delivery": {\n "description": "Value for delivery.",\n "enum": [\n "open-url",\n "second-instance"\n ],\n "type": "string"\n },\n "kind": {\n "const": "deep-link",\n "description": "Value for kind.",\n "type": "string"\n },\n "step_id": {\n "description": "Value for step id.",\n "minLength": 1,\n "type": "string"\n },\n "url": {\n "description": "Value for url.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "step_id",\n "kind",\n "delivery",\n "url"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "application_path": {\n "description": "Local filesystem path for application.",\n "minLength": 1,\n "type": "string"\n },\n "application_root": {\n "description": "Local filesystem application root selected for this operation.",\n "minLength": 1,\n "type": "string"\n },\n "args": {\n "default": [],\n "description": "Value for args.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "executable_path": {\n "description": "Local filesystem path for executable.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "executable_path",\n "application_path"\n ],\n "type": "object"\n },\n "kind": "electron-provider",\n "name": "capture_electron_scenario",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "actions": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "elapsed_ms": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "error": {\n "type": "null"\n },\n "kind": {\n "enum": [\n "click",\n "wait",\n "renderer-reload",\n "renderer-crash",\n "deep-link"\n ],\n "type": "string"\n },\n "status": {\n "const": "completed",\n "type": "string"\n },\n "step_id": {\n "minLength": 1,\n "type": "string"\n },\n "target": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "window_index": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "step_id",\n "kind",\n "window_index",\n "target",\n "elapsed_ms",\n "status",\n "error"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "elapsed_ms": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "error": {\n "type": "string"\n },\n "kind": {\n "enum": [\n "click",\n "wait",\n "renderer-reload",\n "renderer-crash",\n "deep-link"\n ],\n "type": "string"\n },\n "status": {\n "enum": [\n "failed",\n "cancelled"\n ],\n "type": "string"\n },\n "step_id": {\n "minLength": 1,\n "type": "string"\n },\n "target": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "window_index": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "step_id",\n "kind",\n "window_index",\n "target",\n "elapsed_ms",\n "status",\n "error"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "application": {\n "additionalProperties": false,\n "properties": {\n "application_path": {\n "minLength": 1,\n "type": "string"\n },\n "cleanup": {\n "const": "terminated-owned-process",\n "type": "string"\n },\n "electron_version": {\n "minLength": 1,\n "type": "string"\n },\n "executable_path": {\n "minLength": 1,\n "type": "string"\n },\n "process_ownership": {\n "const": "provider-owned",\n "type": "string"\n }\n },\n "required": [\n "executable_path",\n "application_path",\n "electron_version",\n "process_ownership",\n "cleanup"\n ],\n "type": "object"\n },\n "coverage": {\n "additionalProperties": false,\n "default": {\n "observed_event_families": [],\n "observed_roles": [],\n "pre_capture_activity": "unavailable",\n "status": "partial_attach",\n "unavailable_event_families": []\n },\n "properties": {\n "observed_event_families": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "observed_roles": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "pre_capture_activity": {\n "const": "unavailable",\n "type": "string"\n },\n "status": {\n "enum": [\n "complete",\n "partial_attach",\n "hook_conflict",\n "target_exited",\n "cleanup_failed"\n ],\n "type": "string"\n },\n "unavailable_event_families": {\n "items": {\n "type": "string"\n },\n "type": "array"\n }\n },\n "required": [\n "status",\n "observed_event_families",\n "unavailable_event_families",\n "observed_roles",\n "pre_capture_activity"\n ],\n "type": "object"\n },\n "ipc": {\n "additionalProperties": false,\n "properties": {\n "events": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "argument_shapes": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "artifact_path": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "artifact_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "capture_method": {\n "default": "api-wrapper",\n "enum": [\n "api-wrapper",\n "event-emitter",\n "process-hook"\n ],\n "type": "string"\n },\n "channel": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "correlation_id": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "direction": {\n "anyOf": [\n {\n "enum": [\n "renderer-to-main",\n "main-to-renderer",\n "main-to-utility",\n "utility-to-main"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "error": {\n "type": "boolean"\n },\n "event": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "frame": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "kind": {\n "enum": [\n "main-handler-invocation",\n "main-event-invocation",\n "utility-process-fork",\n "utility-process-message",\n "ipc-main-to-renderer",\n "ipc-utility-to-main",\n "ipc-renderer-send",\n "ipc-renderer-invoke",\n "ipc-renderer-post-message"\n ],\n "type": "string"\n },\n "phase": {\n "anyOf": [\n {\n "enum": [\n "attempted",\n "completed",\n "blocked",\n "failed",\n "observed"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "process_type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "receiver": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "result_shape": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "sender": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "sequence": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "source": {\n "default": "electron-active-hook",\n "type": "string"\n },\n "target": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "sequence",\n "correlation_id",\n "kind",\n "channel",\n "frame",\n "argument_shapes",\n "result_shape",\n "process_type",\n "source",\n "capture_method",\n "artifact_path",\n "artifact_sha256",\n "error"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "observed": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "events",\n "observed"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "processes": {\n "additionalProperties": false,\n "properties": {\n "items": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "pid": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "service_name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "type": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "pid",\n "type",\n "name",\n "service_name"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "items"\n ],\n "type": "object"\n },\n "timeline": {\n "additionalProperties": false,\n "default": {\n "events": [],\n "observed": 0\n },\n "properties": {\n "events": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "argument_shapes": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "artifact_path": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "artifact_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "capture_method": {\n "enum": [\n "api-wrapper",\n "event-emitter",\n "process-hook"\n ],\n "type": "string"\n },\n "channel": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "correlation_id": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "direction": {\n "anyOf": [\n {\n "enum": [\n "renderer-to-main",\n "main-to-renderer",\n "main-to-utility",\n "utility-to-main"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "error": {\n "type": "boolean"\n },\n "event": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "frame": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "kind": {\n "enum": [\n "main-handler-invocation",\n "main-event-invocation",\n "utility-process-fork",\n "utility-process-message",\n "ipc-main-to-renderer",\n "ipc-utility-to-main",\n "ipc-renderer-send",\n "ipc-renderer-invoke",\n "ipc-renderer-post-message",\n "app-lifecycle",\n "window-lifecycle",\n "web-contents-lifecycle",\n "navigation",\n "shell-attempt",\n "process-lifecycle",\n "permission",\n "popup-attempt",\n "download",\n "protocol",\n "preload",\n "native-addon",\n "updater",\n "error"\n ],\n "type": "string"\n },\n "phase": {\n "enum": [\n "attempted",\n "completed",\n "blocked",\n "failed",\n "observed"\n ],\n "type": "string"\n },\n "process_type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "receiver": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "result_shape": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "sender": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "sequence": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "source": {\n "type": "string"\n },\n "target": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "sequence",\n "correlation_id",\n "kind",\n "event",\n "phase",\n "channel",\n "direction",\n "sender",\n "receiver",\n "frame",\n "target",\n "argument_shapes",\n "result_shape",\n "process_type",\n "source",\n "capture_method",\n "artifact_path",\n "artifact_sha256",\n "error"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "observed": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "events",\n "observed"\n ],\n "type": "object"\n },\n "windows": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "destroyed": {\n "type": "boolean"\n },\n "title": {\n "type": "string"\n },\n "url": {\n "type": "string"\n },\n "visible": {\n "anyOf": [\n {\n "type": "boolean"\n },\n {\n "type": "null"\n }\n ]\n },\n "web_contents_id": {\n "type": "string"\n },\n "window_id": {\n "type": "string"\n }\n },\n "required": [\n "window_id",\n "web_contents_id",\n "url",\n "title",\n "visible",\n "destroyed"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "application",\n "actions",\n "windows",\n "processes",\n "ipc",\n "timeline",\n "coverage",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Capture Electron Scenario"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": true,\n "readOnlyHint": false\n },\n "description": "List every eligible Node/Electron V8 Inspector target from an explicit literal-loopback endpoint. Node discovery file locations that cannot be verified are preserved as unresolved reported URLs; they do not prove filesystem identity. Listing does not attach to targets.",\n "effects": {\n "accessesNetwork": true,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "inspector_endpoint": "http://127.0.0.1:9229"\n }\n ],\n "properties": {\n "inspector_endpoint": {\n "description": "Value for inspector endpoint.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "inspector_endpoint"\n ],\n "type": "object"\n },\n "kind": "runtime-provider",\n "name": "list_javascript_runtime_targets",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "excluded": {\n "additionalProperties": false,\n "properties": {\n "unconnectable": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "unsupported_location": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "unsupported_location",\n "unconnectable"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "runtime": {\n "additionalProperties": false,\n "properties": {\n "product": {\n "minLength": 1,\n "type": "string"\n },\n "protocol_version": {\n "minLength": 1,\n "type": "string"\n },\n "v8_version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "product",\n "protocol_version",\n "v8_version"\n ],\n "type": "object"\n },\n "targets": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "attached": {\n "type": "boolean"\n },\n "location": {\n "anyOf": [\n {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "authority": {\n "const": "scope-fallback",\n "type": "string"\n },\n "file_path": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "file",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "file_path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "url",\n "type": "string"\n },\n "origin": {\n "minLength": 1,\n "type": "string"\n },\n "sanitized_url": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "origin",\n "sanitized_url"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "builtin",\n "type": "string"\n },\n "specifier": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "specifier"\n ],\n "type": "object"\n }\n ]\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "unresolved",\n "type": "string"\n },\n "reason": {\n "const": "unverifiable-file-location",\n "type": "string"\n },\n "reported_url": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "reported_url",\n "reason"\n ],\n "type": "object"\n }\n ]\n },\n "protocol_type": {\n "minLength": 1,\n "type": "string"\n },\n "target_id": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "target_id",\n "protocol_type",\n "attached",\n "location"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "runtime",\n "targets",\n "excluded",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "List Javascript Runtime Targets"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": true,\n "readOnlyHint": false\n },\n "description": "Attach passively to one Node/Electron V8 Inspector target by supplying its loopback Inspector endpoint and target ID. The provider rechecks target presence and attachability; a Node discovery file location may remain unresolved. Loaded script locations are validated independently from Debugger.scriptParsed. Captures script and Runtime execution-context metadata. REA never evaluates, pauses, resumes, reads source, or instruments the target; require/import edges, EventEmitter activity, and Electron IPC remain explicit unknowns. Reconcile the result with static Application Graph Evidence using reconcile_javascript_runtime. The selected endpoint exposes every target it serves to this tool.",\n "effects": {\n "accessesNetwork": true,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "inspector_endpoint": "http://127.0.0.1:9229",\n "target_id": "TARGET_ID_FROM_LIST_JAVASCRIPT_RUNTIME_TARGETS"\n }\n ],\n "properties": {\n "inspector_endpoint": {\n "description": "Value for inspector endpoint.",\n "minLength": 1,\n "type": "string"\n },\n "observation_ms": {\n "default": 100,\n "description": "Value for observation ms.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "runtime_kind": {\n "description": "Value for runtime kind.",\n "enum": [\n "node",\n "electron-main",\n "electron-preload",\n "electron-renderer"\n ],\n "type": "string"\n },\n "target_id": {\n "description": "Exact CDP target identifier selected from the endpoint\'s target listing.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "inspector_endpoint",\n "target_id"\n ],\n "type": "object"\n },\n "kind": "runtime-provider",\n "name": "observe_javascript_runtime",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "capture": {\n "additionalProperties": false,\n "properties": {\n "events_dropped": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "events_observed": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "events_retained": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "metadata_bytes_retained": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "observation_ms": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "truncated": {\n "type": "boolean"\n },\n "truncation_reasons": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n }\n },\n "required": [\n "observation_ms",\n "events_observed",\n "events_retained",\n "events_dropped",\n "metadata_bytes_retained",\n "truncated",\n "truncation_reasons"\n ],\n "type": "object"\n },\n "directly_observed": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "execution_contexts": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "context_key": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "state": {\n "enum": [\n "created",\n "destroyed",\n "cleared"\n ],\n "type": "string"\n }\n },\n "required": [\n "context_key",\n "state",\n "name",\n "origin"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "runtime": {\n "additionalProperties": false,\n "properties": {\n "product": {\n "minLength": 1,\n "type": "string"\n },\n "protocol_version": {\n "minLength": 1,\n "type": "string"\n },\n "v8_version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "product",\n "protocol_version",\n "v8_version"\n ],\n "type": "object"\n },\n "scripts": {\n "additionalProperties": false,\n "properties": {\n "excluded": {\n "additionalProperties": false,\n "properties": {\n "invalid_protocol_value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "unsupported_location": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "unsupported_location",\n "invalid_protocol_value"\n ],\n "type": "object"\n },\n "items": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "cdp_hash": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "execution_context_key": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "is_module": {\n "type": "boolean"\n },\n "length": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "location": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "authority": {\n "const": "scope-fallback",\n "type": "string"\n },\n "file_path": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "file",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "file_path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "url",\n "type": "string"\n },\n "origin": {\n "minLength": 1,\n "type": "string"\n },\n "sanitized_url": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "origin",\n "sanitized_url"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "builtin",\n "type": "string"\n },\n "specifier": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "specifier"\n ],\n "type": "object"\n }\n ]\n },\n "script_key": {\n "pattern": "^v8_script_[a-f0-9]{64}$",\n "type": "string"\n },\n "status": {\n "const": "observed-loaded",\n "type": "string"\n }\n },\n "required": [\n "script_key",\n "location",\n "execution_context_key",\n "cdp_hash",\n "length",\n "is_module",\n "status"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "observed_total": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "items",\n "observed_total",\n "excluded"\n ],\n "type": "object"\n },\n "target": {\n "additionalProperties": false,\n "properties": {\n "attached": {\n "type": "boolean"\n },\n "location": {\n "anyOf": [\n {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "authority": {\n "const": "scope-fallback",\n "type": "string"\n },\n "file_path": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "file",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "file_path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "url",\n "type": "string"\n },\n "origin": {\n "minLength": 1,\n "type": "string"\n },\n "sanitized_url": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "origin",\n "sanitized_url"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "builtin",\n "type": "string"\n },\n "specifier": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "specifier"\n ],\n "type": "object"\n }\n ]\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "unresolved",\n "type": "string"\n },\n "reason": {\n "const": "unverifiable-file-location",\n "type": "string"\n },\n "reported_url": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "reported_url",\n "reason"\n ],\n "type": "object"\n }\n ]\n },\n "protocol_type": {\n "minLength": 1,\n "type": "string"\n },\n "runtime_kind": {\n "anyOf": [\n {\n "enum": [\n "node",\n "electron-main",\n "electron-preload",\n "electron-renderer"\n ],\n "type": "string"\n },\n {\n "const": "unknown",\n "type": "string"\n }\n ]\n },\n "runtime_kind_authority": {\n "enum": [\n "caller-declared-unverified",\n "not-declared"\n ],\n "type": "string"\n },\n "target_id": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "target_id",\n "protocol_type",\n "attached",\n "location",\n "runtime_kind",\n "runtime_kind_authority"\n ],\n "type": "object"\n },\n "unavailable_without_instrumentation": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "unknowns": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n }\n },\n "required": [\n "runtime",\n "target",\n "capture",\n "scripts",\n "execution_contexts",\n "directly_observed",\n "unavailable_without_instrumentation",\n "unknowns",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Observe Javascript Runtime"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Trace a typed literal seed through every reachable part of an authenticated JavaScript Application Graph supplied as inline Evidence or exact same-session retained references. Original static, native, passive-runtime, inferred, and unknown authorities remain distinct; native addon handoffs never open a provider or execute the application.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "application": {\n "authority": "shipped-artifact",\n "confidence": "derived",\n "environment": null,\n "evidence_id": "ev_a4ae2c7b5c501fb6dff695b168f35a6dd157fa957410910684f3a4ce4c8b5d54",\n "evidence_links": [],\n "limitations": [],\n "locations": [],\n "normalized_result": {\n "format": "directory",\n "graph": {\n "coverage": {\n "limits": [],\n "omitted_count": 0,\n "status": "complete",\n "truncated": false\n },\n "edges": [],\n "graph_id": "jag_ab15669664efc0a86bb49c9c60241913cce6980dc2293fbeef6d9c862ca01d9d",\n "limitations": [],\n "nodes": [\n {\n "identity": {\n "sha256": "c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64",\n "stability": "global-exact",\n "strategy": "content-digest"\n },\n "kind": "javascript-asset",\n "node_id": "jag_node_3c82da5492d90eb5b0bee41c1a994d88b7ba98c0b4955270d70e57a76e224c2e",\n "observations": [\n {\n "evidence": {\n "artifact": {\n "artifact_id": "art_c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64",\n "available": true,\n "sha256": "c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64"\n },\n "authority": "artifact-bytes",\n "confidence": "exact",\n "coverage": {\n "limits": [],\n "omitted_count": 0,\n "status": "complete",\n "truncated": false\n },\n "evidence_ids": [],\n "extractor": {\n "executable_sha256": null,\n "name": "rea-javascript-application",\n "operation": "inventory-relevant-file",\n "version": "1"\n },\n "limitations": [],\n "location": {\n "available": true,\n "value": {\n "kind": "artifact-path",\n "path": "renderer.js"\n }\n },\n "state": "observed"\n },\n "identifier_strategy": {\n "stability": "observation-exact",\n "strategy": "semantic-content-sha256"\n },\n "label": "renderer.js",\n "observation_id": "jag_observation_20b4d076ce370db14ae2b477915624c62e0c4a0c9e56803a2c5cb4fa60c16230",\n "properties": {\n "bytes": 29,\n "path": "renderer.js"\n }\n }\n ]\n }\n ],\n "root_node_ids": [\n "jag_node_3c82da5492d90eb5b0bee41c1a994d88b7ba98c0b4955270d70e57a76e224c2e"\n ],\n "schema": "JavaScriptApplicationGraph"\n },\n "input_path": "/Applications/Example.app/Contents/Resources/app",\n "inventory_graph_sha256": "3333333333333333333333333333333333333333333333333333333333333333",\n "inventory_manifest_id": "agm_2222222222222222222222222222222222222222222222222222222222222222",\n "limitations": [],\n "root_artifact_sha256": "1111111111111111111111111111111111111111111111111111111111111111",\n "semantic_graph": {\n "application_graph_id": "jag_ab15669664efc0a86bb49c9c60241913cce6980dc2293fbeef6d9c862ca01d9d",\n "coverage": {\n "families": [\n {\n "family": "boundary",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "call-flow",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "child-process",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "closure",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "configuration",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "data-flow",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "event",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "object-flow",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "promise-ownership",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "request",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "resource-lifecycle",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "timer",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n }\n ],\n "limits": [],\n "omitted_nodes": 0,\n "omitted_relations": 0,\n "status": "unknown",\n "truncated": false\n },\n "fingerprints": [],\n "graph_id": "jsrg_08c925d2bf4ef56d770e0e67901d5bdfb610744cf001a50d36c9bb6dcb195508",\n "limitations": [\n "Semantic relations are unavailable in this minimal example."\n ],\n "nodes": [\n {\n "application_node_ids": [\n "jag_node_3c82da5492d90eb5b0bee41c1a994d88b7ba98c0b4955270d70e57a76e224c2e"\n ],\n "evidence": {\n "artifact": {\n "artifact_id": "art_c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64",\n "available": true,\n "sha256": "c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64"\n },\n "authority": "artifact-bytes",\n "confidence": "exact",\n "coverage": {\n "limits": [],\n "omitted_count": 0,\n "status": "complete",\n "truncated": false\n },\n "evidence_ids": [],\n "extractor": {\n "executable_sha256": null,\n "name": "rea-javascript-application",\n "operation": "inventory-relevant-file",\n "version": "1"\n },\n "limitations": [],\n "location": {\n "available": true,\n "value": {\n "kind": "artifact-path",\n "path": "renderer.js"\n }\n },\n "state": "observed"\n },\n "function_node_id": null,\n "identifier_strategy": {\n "stability": "artifact-version",\n "strategy": "semantic-content-sha256"\n },\n "identity": {\n "artifact_sha256": "1111111111111111111111111111111111111111111111111111111111111111",\n "module_path": "renderer.js",\n "role_key": "example-module",\n "source_range": null\n },\n "kind": "module",\n "label": "renderer.js",\n "node_id": "jsrg_node_9476602f1f74433a2bd3dadb040a25734d203b8f831b31a8d96f7efdfc5cd66a",\n "properties": {}\n }\n ],\n "relations": [],\n "root_artifact_sha256": "1111111111111111111111111111111111111111111111111111111111111111",\n "root_node_ids": [\n "jsrg_node_9476602f1f74433a2bd3dadb040a25734d203b8f831b31a8d96f7efdfc5cd66a"\n ],\n "schema": "JavaScriptSemanticRelationGraph",\n "unknowns": []\n },\n "statistics": {\n "findings": 0,\n "invalid_utf8_files": 0,\n "modules": 0,\n "nested_asar_containers": 0,\n "parse_failures": 0,\n "parsed_javascript_files": 1,\n "relevant_files": 1,\n "text_bytes_read": 29,\n "truncated_scopes": 0,\n "visited_ast_nodes": 1\n },\n "summary": {\n "browser_windows": 0,\n "context_bridge_apis": 0,\n "explicit_web_preferences": 0,\n "exposed_api_members": 0,\n "ipc": {\n "ambiguous_renderer_transmissions": 0,\n "dynamic_channel_operations": 0,\n "literal_channels": 0,\n "main_handlers": 0,\n "operations": 0,\n "paired_renderer_transmissions": 0,\n "renderer_listeners": 0,\n "renderer_transmissions": 0,\n "unpaired_literal_renderer_transmissions": 0\n },\n "native_addon_bindings": 0,\n "preload_entrypoints": 0,\n "resolved_native_addon_bindings": 0,\n "resolved_utility_entrypoints": 0,\n "sender_validation_observations": 0,\n "utility_processes": 0\n }\n },\n "operation": "analyze_javascript_application",\n "parameters": {},\n "predicate_type": "rea.javascript-application-analysis",\n "provider": {\n "id": "rea-javascript-application",\n "name": "REA JavaScript application analyzer",\n "version": "1"\n },\n "raw_result": null,\n "subject": {\n "architecture": null,\n "digest": {\n "sha256": "1111111111111111111111111111111111111111111111111111111111111111"\n },\n "format": "directory",\n "local_path": "/Applications/Example.app/Contents/Resources/app",\n "name": "app"\n }\n },\n "direction": "both",\n "seed": {\n "case_sensitive": false,\n "kind": "module",\n "match": "exact",\n "value": "renderer.js"\n }\n },\n {\n "application": {\n "evidence_id": "ev_a4ae2c7b5c501fb6dff695b168f35a6dd157fa957410910684f3a4ce4c8b5d54",\n "kind": "retained-evidence"\n },\n "direction": "both",\n "seed": {\n "case_sensitive": false,\n "kind": "module",\n "match": "exact",\n "value": "renderer.js"\n }\n }\n ],\n "properties": {\n "application": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "description": "Value for analysis profile.",\n "properties": {\n "digest": {\n "description": "Value for digest.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "description": "Value for version.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "description": "Value for authority.",\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "description": "Value for confidence.",\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "description": "Value for architecture.",\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "description": "Value for isolation.",\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "description": "Value for platform.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for environment."\n },\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "description": "Value for evidence links.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "description": "Value for locations.",\n "items": {\n "oneOf": [\n {\n "properties": {\n "address": {\n "description": "Value for address.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "artifact-path",\n "description": "Value for kind.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "file-offset",\n "description": "Value for kind.",\n "type": "string"\n },\n "offset": {\n "description": "Value for offset.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0",\n "description": "Value for normalized result."\n },\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "description": "Value for predicate type.",\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for version."\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for raw result."\n },\n "subject": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "digest": {\n "description": "Value for digest.",\n "properties": {\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "description": "Declared input artifact format.",\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "description": "Local filesystem path for local.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for subject."\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "kind": {\n "const": "retained-evidence",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "evidence_id"\n ],\n "type": "object"\n }\n ],\n "description": "Value for application."\n },\n "direction": {\n "default": "both",\n "description": "Direction in which to traverse or compare relationships.",\n "enum": [\n "outgoing",\n "incoming",\n "both"\n ],\n "type": "string"\n },\n "native_observations": {\n "default": [],\n "description": "Value for native observations.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "description": "Value for analysis profile.",\n "properties": {\n "digest": {\n "description": "Value for digest.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "description": "Value for version.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "description": "Value for authority.",\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "description": "Value for confidence.",\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "description": "Value for architecture.",\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "description": "Value for isolation.",\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "description": "Value for platform.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for environment."\n },\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "description": "Value for evidence links.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "description": "Value for locations.",\n "items": {\n "oneOf": [\n {\n "properties": {\n "address": {\n "description": "Value for address.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "artifact-path",\n "description": "Value for kind.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "file-offset",\n "description": "Value for kind.",\n "type": "string"\n },\n "offset": {\n "description": "Value for offset.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0",\n "description": "Value for normalized result."\n },\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "description": "Value for predicate type.",\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for version."\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for raw result."\n },\n "subject": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "digest": {\n "description": "Value for digest.",\n "properties": {\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "description": "Declared input artifact format.",\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "description": "Local filesystem path for local.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for subject."\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "seed": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "case_sensitive": {\n "default": false,\n "description": "Whether text matching distinguishes uppercase and lowercase.",\n "type": "boolean"\n },\n "kind": {\n "description": "Value for kind.",\n "enum": [\n "node-id",\n "route",\n "string",\n "api",\n "channel",\n "module",\n "native-export"\n ],\n "type": "string"\n },\n "match": {\n "anyOf": [\n {\n "enum": [\n "exact",\n "contains"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "Value for match."\n },\n "value": {\n "description": "Value for value.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "case_sensitive": {\n "default": false,\n "description": "Whether text matching distinguishes uppercase and lowercase.",\n "type": "boolean"\n },\n "kind": {\n "description": "Value for kind.",\n "enum": [\n "route",\n "string",\n "api",\n "channel",\n "module",\n "native-export"\n ],\n "type": "string"\n },\n "match": {\n "const": "exact",\n "description": "Value for match.",\n "type": "string"\n },\n "value": {\n "const": "",\n "description": "Value for value.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "value",\n "match"\n ],\n "type": "object"\n }\n ],\n "description": "Value for seed."\n }\n },\n "required": [\n "seed",\n "application"\n ],\n "type": "object"\n },\n "kind": "application",\n "name": "trace_application_feature",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "coverage": {\n "additionalProperties": false,\n "properties": {\n "source_graph_status": {\n "enum": [\n "complete",\n "partial",\n "unknown",\n "unavailable"\n ],\n "type": "string"\n },\n "status": {\n "enum": [\n "complete-within-source",\n "partial",\n "no-match"\n ],\n "type": "string"\n },\n "total_seed_matches": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "status",\n "source_graph_status",\n "total_seed_matches"\n ],\n "type": "object"\n },\n "direction": {\n "enum": [\n "outgoing",\n "incoming",\n "both"\n ],\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "graph": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "coverage": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "const": 0,\n "type": "number"\n },\n "status": {\n "const": "complete",\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "partial",\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "omitted_count": {\n "anyOf": [\n {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "partial",\n "type": "string"\n },\n "truncated": {\n "const": true,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "type": "null"\n },\n "status": {\n "enum": [\n "unknown",\n "unavailable"\n ],\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n }\n ]\n },\n "edges": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "edge_id": {\n "pattern": "^jag_edge_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "artifact": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "artifact_id": {\n "pattern": "^art_[a-f0-9]{64}$",\n "type": "string"\n },\n "available": {\n "const": true,\n "type": "boolean"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "available",\n "artifact_id",\n "sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "enum": [\n "not-applicable",\n "not-observed",\n "truncated",\n "provider-unavailable",\n "unresolved",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason",\n "detail"\n ],\n "type": "object"\n }\n ]\n },\n "authority": {\n "enum": [\n "artifact-bytes",\n "ast-static-analysis",\n "static-relationship-inference",\n "passive-cdp-runtime",\n "cross-layer-reconciliation",\n "cross-version-comparison",\n "controlled-replay",\n "native-analysis-provider",\n "managed-static-analysis",\n "historical-reference",\n "user-assertion",\n "unknown"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "exact",\n "high",\n "medium",\n "low",\n "unknown"\n ],\n "type": "string"\n },\n "coverage": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "const": 0,\n "type": "number"\n },\n "status": {\n "const": "complete",\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "partial",\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "omitted_count": {\n "anyOf": [\n {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "partial",\n "type": "string"\n },\n "truncated": {\n "const": true,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "type": "null"\n },\n "status": {\n "enum": [\n "unknown",\n "unavailable"\n ],\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n }\n ]\n },\n "evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "extractor": {\n "additionalProperties": false,\n "properties": {\n "executable_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "version",\n "operation",\n "executable_sha256"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "location": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "value": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "line",\n "column"\n ],\n "type": "object"\n },\n "kind": {\n "const": "source-range",\n "type": "string"\n },\n "source": {\n "minLength": 1,\n "type": "string"\n },\n "start": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "line",\n "column"\n ],\n "type": "object"\n }\n },\n "required": [\n "kind",\n "source",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "url",\n "type": "string"\n },\n "url": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "url"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "capture_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "frame_key": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "kind": {\n "const": "runtime",\n "type": "string"\n },\n "script_key": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "target_key": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "capture_sha256",\n "target_key",\n "frame_key",\n "script_key"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "native-address",\n "type": "string"\n },\n "symbol": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "kind",\n "address",\n "symbol"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "export_path": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "package-export",\n "type": "string"\n },\n "package_name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "package_name",\n "export_path"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "available",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "enum": [\n "not-applicable",\n "not-observed",\n "truncated",\n "provider-unavailable",\n "unresolved",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason",\n "detail"\n ],\n "type": "object"\n }\n ]\n },\n "state": {\n "enum": [\n "observed",\n "inferred",\n "unknown",\n "unavailable"\n ],\n "type": "string"\n }\n },\n "required": [\n "authority",\n "state",\n "confidence",\n "artifact",\n "location",\n "extractor",\n "coverage",\n "limitations",\n "evidence_ids"\n ],\n "type": "object"\n },\n "identifier_strategy": {\n "additionalProperties": false,\n "properties": {\n "stability": {\n "const": "relationship-exact",\n "type": "string"\n },\n "strategy": {\n "const": "semantic-content-sha256",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability"\n ],\n "type": "object"\n },\n "properties": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "minLength": 1,\n "type": "string"\n },\n "type": "object"\n },\n "relation": {\n "enum": [\n "contains",\n "loads",\n "imports",\n "maps_to",\n "exposes",\n "sends",\n "invokes",\n "handles",\n "calls",\n "persists_to",\n "observed_as",\n "changed_from"\n ],\n "type": "string"\n },\n "source_node_id": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "target_node_id": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "source_node_id",\n "target_node_id",\n "relation",\n "properties",\n "evidence",\n "edge_id",\n "identifier_strategy"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "graph_id": {\n "pattern": "^jag_[a-f0-9]{64}$",\n "type": "string"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "nodes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "identity": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "stability": {\n "const": "global-exact",\n "type": "string"\n },\n "strategy": {\n "const": "content-digest",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability",\n "sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "original_source": {\n "type": "string"\n },\n "source_map_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "source_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "stability": {\n "const": "source-map-exact",\n "type": "string"\n },\n "strategy": {\n "const": "source-map-original",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability",\n "source_map_sha256",\n "original_source",\n "source_sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "artifact_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n },\n "stability": {\n "const": "artifact-version",\n "type": "string"\n },\n "strategy": {\n "const": "canonical-path",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability",\n "artifact_sha256",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "algorithm": {\n "minLength": 1,\n "type": "string"\n },\n "basis": {\n "items": {\n "enum": [\n "syntax-tree",\n "control-flow",\n "imports",\n "exports",\n "literals",\n "api-usage"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "fingerprint_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "stability": {\n "const": "cross-version-inference",\n "type": "string"\n },\n "strategy": {\n "const": "structural-fingerprint",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability",\n "algorithm",\n "fingerprint_sha256",\n "basis"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "artifact_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "key": {\n "type": "string"\n },\n "namespace": {\n "minLength": 1,\n "type": "string"\n },\n "stability": {\n "const": "artifact-version",\n "type": "string"\n },\n "strategy": {\n "const": "artifact-local-key",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability",\n "artifact_sha256",\n "namespace",\n "key"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "capture_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "runtime_key": {\n "minLength": 1,\n "type": "string"\n },\n "stability": {\n "const": "capture-only",\n "type": "string"\n },\n "strategy": {\n "const": "runtime-instance",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability",\n "capture_sha256",\n "runtime_key"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "observation_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "scope": {\n "minLength": 1,\n "type": "string"\n },\n "stability": {\n "const": "observation-only",\n "type": "string"\n },\n "strategy": {\n "const": "observation-fingerprint",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability",\n "observation_sha256",\n "scope"\n ],\n "type": "object"\n }\n ]\n },\n "kind": {\n "enum": [\n "package",\n "installer",\n "artifact",\n "asar-entry",\n "electron-main",\n "electron-preload",\n "electron-renderer",\n "electron-utility",\n "javascript-asset",\n "javascript-chunk",\n "javascript-module",\n "source-map",\n "source-module",\n "browser-window",\n "frame",\n "target",\n "context-bridge-api",\n "ipc-channel",\n "ipc-handler",\n "worker",\n "service-worker",\n "endpoint",\n "storage",\n "native-addon",\n "native-export",\n "managed-assembly",\n "managed-module",\n "managed-type",\n "managed-method",\n "managed-field",\n "managed-pinvoke-import",\n "managed-native-implementation",\n "runtime-script-instance",\n "unknown"\n ],\n "type": "string"\n },\n "node_id": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "observations": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "artifact": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "artifact_id": {\n "pattern": "^art_[a-f0-9]{64}$",\n "type": "string"\n },\n "available": {\n "const": true,\n "type": "boolean"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "available",\n "artifact_id",\n "sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "enum": [\n "not-applicable",\n "not-observed",\n "truncated",\n "provider-unavailable",\n "unresolved",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason",\n "detail"\n ],\n "type": "object"\n }\n ]\n },\n "authority": {\n "enum": [\n "artifact-bytes",\n "ast-static-analysis",\n "static-relationship-inference",\n "passive-cdp-runtime",\n "cross-layer-reconciliation",\n "cross-version-comparison",\n "controlled-replay",\n "native-analysis-provider",\n "managed-static-analysis",\n "historical-reference",\n "user-assertion",\n "unknown"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "exact",\n "high",\n "medium",\n "low",\n "unknown"\n ],\n "type": "string"\n },\n "coverage": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "const": 0,\n "type": "number"\n },\n "status": {\n "const": "complete",\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "partial",\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "omitted_count": {\n "anyOf": [\n {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "partial",\n "type": "string"\n },\n "truncated": {\n "const": true,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "type": "null"\n },\n "status": {\n "enum": [\n "unknown",\n "unavailable"\n ],\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n }\n ]\n },\n "evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "extractor": {\n "additionalProperties": false,\n "properties": {\n "executable_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "version",\n "operation",\n "executable_sha256"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "location": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "value": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "line",\n "column"\n ],\n "type": "object"\n },\n "kind": {\n "const": "source-range",\n "type": "string"\n },\n "source": {\n "minLength": 1,\n "type": "string"\n },\n "start": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "line",\n "column"\n ],\n "type": "object"\n }\n },\n "required": [\n "kind",\n "source",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "url",\n "type": "string"\n },\n "url": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "url"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "capture_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "frame_key": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "kind": {\n "const": "runtime",\n "type": "string"\n },\n "script_key": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "target_key": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "capture_sha256",\n "target_key",\n "frame_key",\n "script_key"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "native-address",\n "type": "string"\n },\n "symbol": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "kind",\n "address",\n "symbol"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "export_path": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "package-export",\n "type": "string"\n },\n "package_name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "package_name",\n "export_path"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "available",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "enum": [\n "not-applicable",\n "not-observed",\n "truncated",\n "provider-unavailable",\n "unresolved",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason",\n "detail"\n ],\n "type": "object"\n }\n ]\n },\n "state": {\n "enum": [\n "observed",\n "inferred",\n "unknown",\n "unavailable"\n ],\n "type": "string"\n }\n },\n "required": [\n "authority",\n "state",\n "confidence",\n "artifact",\n "location",\n "extractor",\n "coverage",\n "limitations",\n "evidence_ids"\n ],\n "type": "object"\n },\n "identifier_strategy": {\n "additionalProperties": false,\n "properties": {\n "stability": {\n "const": "observation-exact",\n "type": "string"\n },\n "strategy": {\n "const": "semantic-content-sha256",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability"\n ],\n "type": "object"\n },\n "label": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "observation_id": {\n "pattern": "^jag_observation_[a-f0-9]{64}$",\n "type": "string"\n },\n "properties": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "minLength": 1,\n "type": "string"\n },\n "type": "object"\n }\n },\n "required": [\n "label",\n "properties",\n "evidence",\n "observation_id",\n "identifier_strategy"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "node_id",\n "kind",\n "identity",\n "observations"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "root_node_ids": {\n "items": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "schema": {\n "const": "JavaScriptApplicationGraph",\n "type": "string"\n }\n },\n "required": [\n "schema",\n "root_node_ids",\n "nodes",\n "edges",\n "coverage",\n "limitations",\n "graph_id"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "native_handoffs": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "artifact_path": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "artifact_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "export_node_ids": {\n "items": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "native_node_id": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "providers": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "recommended_tools": {\n "items": {\n "enum": [\n "open_binary",\n "binary_overview",\n "search_procedures",\n "analyze_function",\n "xrefs"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "requested_exports": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "status": {\n "enum": [\n "evidence-linked",\n "requires-provider-analysis"\n ],\n "type": "string"\n }\n },\n "required": [\n "native_node_id",\n "artifact_sha256",\n "artifact_path",\n "export_node_ids",\n "requested_exports",\n "status",\n "providers",\n "evidence_ids",\n "recommended_tools"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "paths": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "authorities": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "contains_inference": {\n "type": "boolean"\n },\n "edge_ids": {\n "items": {\n "pattern": "^jag_edge_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "end_kind": {\n "minLength": 1,\n "type": "string"\n },\n "end_node_id": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "node_ids": {\n "items": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "path_id": {\n "pattern": "^jatp_[a-f0-9]{64}$",\n "type": "string"\n },\n "start_node_id": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "path_id",\n "start_node_id",\n "end_node_id",\n "end_kind",\n "node_ids",\n "edge_ids",\n "authorities",\n "contains_inference"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "seed": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "case_sensitive": {\n "default": false,\n "type": "boolean"\n },\n "kind": {\n "enum": [\n "node-id",\n "route",\n "string",\n "api",\n "channel",\n "module",\n "native-export"\n ],\n "type": "string"\n },\n "match": {\n "anyOf": [\n {\n "enum": [\n "exact",\n "contains"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "value": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "value",\n "match",\n "case_sensitive"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "case_sensitive": {\n "default": false,\n "type": "boolean"\n },\n "kind": {\n "enum": [\n "route",\n "string",\n "api",\n "channel",\n "module",\n "native-export"\n ],\n "type": "string"\n },\n "match": {\n "const": "exact",\n "type": "string"\n },\n "value": {\n "const": "",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "value",\n "match",\n "case_sensitive"\n ],\n "type": "object"\n }\n ]\n },\n "seed_matches": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "basis": {\n "enum": [\n "node-id",\n "label",\n "identity",\n "property"\n ],\n "type": "string"\n },\n "field": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "minLength": 1,\n "type": "string"\n },\n "node_id": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "node_id",\n "kind",\n "basis",\n "field"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "source_evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "source_graph_id": {\n "pattern": "^jag_[a-f0-9]{64}$",\n "type": "string"\n },\n "summary": {\n "additionalProperties": false,\n "properties": {\n "inferred_facts": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "matched_seeds": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "native_handoffs": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "observed_facts": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "terminal_paths": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "traced_edges": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "traced_nodes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "unavailable_facts": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "unknown_facts": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "matched_seeds",\n "traced_nodes",\n "traced_edges",\n "terminal_paths",\n "native_handoffs",\n "observed_facts",\n "inferred_facts",\n "unknown_facts",\n "unavailable_facts"\n ],\n "type": "object"\n },\n "trace_id": {\n "pattern": "^jatr_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "trace_id",\n "source_evidence_id",\n "source_graph_id",\n "seed",\n "direction",\n "seed_matches",\n "graph",\n "paths",\n "native_handoffs",\n "summary",\n "coverage",\n "evidence_links",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Trace Application Feature"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Trace static JavaScript data-flow, direct call/return, and closure relations from inline application Evidence or an exact same-session retained reference. Dynamic or unsupported semantics remain explicit unknowns; static reachability never claims runtime execution.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "application": {\n "authority": "shipped-artifact",\n "confidence": "derived",\n "environment": null,\n "evidence_id": "ev_a4ae2c7b5c501fb6dff695b168f35a6dd157fa957410910684f3a4ce4c8b5d54",\n "evidence_links": [],\n "limitations": [],\n "locations": [],\n "normalized_result": {\n "format": "directory",\n "graph": {\n "coverage": {\n "limits": [],\n "omitted_count": 0,\n "status": "complete",\n "truncated": false\n },\n "edges": [],\n "graph_id": "jag_ab15669664efc0a86bb49c9c60241913cce6980dc2293fbeef6d9c862ca01d9d",\n "limitations": [],\n "nodes": [\n {\n "identity": {\n "sha256": "c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64",\n "stability": "global-exact",\n "strategy": "content-digest"\n },\n "kind": "javascript-asset",\n "node_id": "jag_node_3c82da5492d90eb5b0bee41c1a994d88b7ba98c0b4955270d70e57a76e224c2e",\n "observations": [\n {\n "evidence": {\n "artifact": {\n "artifact_id": "art_c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64",\n "available": true,\n "sha256": "c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64"\n },\n "authority": "artifact-bytes",\n "confidence": "exact",\n "coverage": {\n "limits": [],\n "omitted_count": 0,\n "status": "complete",\n "truncated": false\n },\n "evidence_ids": [],\n "extractor": {\n "executable_sha256": null,\n "name": "rea-javascript-application",\n "operation": "inventory-relevant-file",\n "version": "1"\n },\n "limitations": [],\n "location": {\n "available": true,\n "value": {\n "kind": "artifact-path",\n "path": "renderer.js"\n }\n },\n "state": "observed"\n },\n "identifier_strategy": {\n "stability": "observation-exact",\n "strategy": "semantic-content-sha256"\n },\n "label": "renderer.js",\n "observation_id": "jag_observation_20b4d076ce370db14ae2b477915624c62e0c4a0c9e56803a2c5cb4fa60c16230",\n "properties": {\n "bytes": 29,\n "path": "renderer.js"\n }\n }\n ]\n }\n ],\n "root_node_ids": [\n "jag_node_3c82da5492d90eb5b0bee41c1a994d88b7ba98c0b4955270d70e57a76e224c2e"\n ],\n "schema": "JavaScriptApplicationGraph"\n },\n "input_path": "/Applications/Example.app/Contents/Resources/app",\n "inventory_graph_sha256": "3333333333333333333333333333333333333333333333333333333333333333",\n "inventory_manifest_id": "agm_2222222222222222222222222222222222222222222222222222222222222222",\n "limitations": [],\n "root_artifact_sha256": "1111111111111111111111111111111111111111111111111111111111111111",\n "semantic_graph": {\n "application_graph_id": "jag_ab15669664efc0a86bb49c9c60241913cce6980dc2293fbeef6d9c862ca01d9d",\n "coverage": {\n "families": [\n {\n "family": "boundary",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "call-flow",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "child-process",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "closure",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "configuration",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "data-flow",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "event",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "object-flow",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "promise-ownership",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "request",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "resource-lifecycle",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "timer",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n }\n ],\n "limits": [],\n "omitted_nodes": 0,\n "omitted_relations": 0,\n "status": "unknown",\n "truncated": false\n },\n "fingerprints": [],\n "graph_id": "jsrg_08c925d2bf4ef56d770e0e67901d5bdfb610744cf001a50d36c9bb6dcb195508",\n "limitations": [\n "Semantic relations are unavailable in this minimal example."\n ],\n "nodes": [\n {\n "application_node_ids": [\n "jag_node_3c82da5492d90eb5b0bee41c1a994d88b7ba98c0b4955270d70e57a76e224c2e"\n ],\n "evidence": {\n "artifact": {\n "artifact_id": "art_c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64",\n "available": true,\n "sha256": "c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64"\n },\n "authority": "artifact-bytes",\n "confidence": "exact",\n "coverage": {\n "limits": [],\n "omitted_count": 0,\n "status": "complete",\n "truncated": false\n },\n "evidence_ids": [],\n "extractor": {\n "executable_sha256": null,\n "name": "rea-javascript-application",\n "operation": "inventory-relevant-file",\n "version": "1"\n },\n "limitations": [],\n "location": {\n "available": true,\n "value": {\n "kind": "artifact-path",\n "path": "renderer.js"\n }\n },\n "state": "observed"\n },\n "function_node_id": null,\n "identifier_strategy": {\n "stability": "artifact-version",\n "strategy": "semantic-content-sha256"\n },\n "identity": {\n "artifact_sha256": "1111111111111111111111111111111111111111111111111111111111111111",\n "module_path": "renderer.js",\n "role_key": "example-module",\n "source_range": null\n },\n "kind": "module",\n "label": "renderer.js",\n "node_id": "jsrg_node_9476602f1f74433a2bd3dadb040a25734d203b8f831b31a8d96f7efdfc5cd66a",\n "properties": {}\n }\n ],\n "relations": [],\n "root_artifact_sha256": "1111111111111111111111111111111111111111111111111111111111111111",\n "root_node_ids": [\n "jsrg_node_9476602f1f74433a2bd3dadb040a25734d203b8f831b31a8d96f7efdfc5cd66a"\n ],\n "schema": "JavaScriptSemanticRelationGraph",\n "unknowns": []\n },\n "statistics": {\n "findings": 0,\n "invalid_utf8_files": 0,\n "modules": 0,\n "nested_asar_containers": 0,\n "parse_failures": 0,\n "parsed_javascript_files": 1,\n "relevant_files": 1,\n "text_bytes_read": 29,\n "truncated_scopes": 0,\n "visited_ast_nodes": 1\n },\n "summary": {\n "browser_windows": 0,\n "context_bridge_apis": 0,\n "explicit_web_preferences": 0,\n "exposed_api_members": 0,\n "ipc": {\n "ambiguous_renderer_transmissions": 0,\n "dynamic_channel_operations": 0,\n "literal_channels": 0,\n "main_handlers": 0,\n "operations": 0,\n "paired_renderer_transmissions": 0,\n "renderer_listeners": 0,\n "renderer_transmissions": 0,\n "unpaired_literal_renderer_transmissions": 0\n },\n "native_addon_bindings": 0,\n "preload_entrypoints": 0,\n "resolved_native_addon_bindings": 0,\n "resolved_utility_entrypoints": 0,\n "sender_validation_observations": 0,\n "utility_processes": 0\n }\n },\n "operation": "analyze_javascript_application",\n "parameters": {},\n "predicate_type": "rea.javascript-application-analysis",\n "provider": {\n "id": "rea-javascript-application",\n "name": "REA JavaScript application analyzer",\n "version": "1"\n },\n "raw_result": null,\n "subject": {\n "architecture": null,\n "digest": {\n "sha256": "1111111111111111111111111111111111111111111111111111111111111111"\n },\n "format": "directory",\n "local_path": "/Applications/Example.app/Contents/Resources/app",\n "name": "app"\n }\n },\n "query": {\n "direction": "backward-provenance",\n "seed": {\n "kind": "semantic-node",\n "node_id": "jsrg_node_0000000000000000000000000000000000000000000000000000000000000000"\n }\n }\n }\n ],\n "properties": {\n "application": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "description": "Value for analysis profile.",\n "properties": {\n "digest": {\n "description": "Value for digest.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "description": "Value for version.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "description": "Value for authority.",\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "description": "Value for confidence.",\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "description": "Value for architecture.",\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "description": "Value for isolation.",\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "description": "Value for platform.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for environment."\n },\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "description": "Value for evidence links.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "description": "Value for locations.",\n "items": {\n "oneOf": [\n {\n "properties": {\n "address": {\n "description": "Value for address.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "artifact-path",\n "description": "Value for kind.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "file-offset",\n "description": "Value for kind.",\n "type": "string"\n },\n "offset": {\n "description": "Value for offset.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0",\n "description": "Value for normalized result."\n },\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "description": "Value for predicate type.",\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for version."\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for raw result."\n },\n "subject": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "digest": {\n "description": "Value for digest.",\n "properties": {\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "description": "Declared input artifact format.",\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "description": "Local filesystem path for local.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for subject."\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "kind": {\n "const": "retained-evidence",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "evidence_id"\n ],\n "type": "object"\n }\n ],\n "description": "Value for application."\n },\n "query": {\n "additionalProperties": false,\n "description": "Non-empty feature or text query to investigate.",\n "properties": {\n "allowed_relations": {\n "description": "Value for allowed relations.",\n "items": {\n "enum": [\n "acquires",\n "aggregates",\n "aliases",\n "argument-to-parameter",\n "awaits",\n "calls",\n "cancels-timer",\n "captures",\n "chains",\n "coerces",\n "connects-stdio",\n "consumed-by",\n "constructs-request",\n "creates-promise",\n "defaults",\n "defines",\n "destructures",\n "detaches-task",\n "dispatches-candidate",\n "forwards-signal",\n "listens-error",\n "listens-exit",\n "owns",\n "overrides",\n "parses",\n "reads",\n "reads-argv",\n "reads-config",\n "reads-environment",\n "reads-property",\n "registers-listener",\n "releases",\n "removes-listener",\n "returns-task",\n "returns-to-call",\n "schedules-timer",\n "spawns",\n "spreads",\n "supplies-argv",\n "supplies-env",\n "supplies-request-field",\n "validates",\n "writes",\n "writes-property"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "direction": {\n "description": "Direction in which to traverse or compare relationships.",\n "enum": [\n "backward-provenance",\n "forward-influence",\n "callers",\n "ownership"\n ],\n "type": "string"\n },\n "expected": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "classes": {\n "description": "Value for classes.",\n "items": {\n "enum": [\n "module",\n "function",\n "parameter",\n "binding",\n "expression",\n "literal",\n "property-slot",\n "call-site",\n "return-site",\n "closure-capture",\n "promise",\n "task",\n "event",\n "listener",\n "timer",\n "child-process",\n "stdio",\n "signal",\n "config-source",\n "request",\n "response",\n "boundary",\n "resource",\n "unknown-frontier"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "role": {\n "description": "Value for role.",\n "enum": [\n "source",\n "sink"\n ],\n "type": "string"\n }\n },\n "required": [\n "role",\n "classes"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "Value for expected."\n },\n "include_ambiguous_dynamic_edges": {\n "default": false,\n "description": "Whether to include ambiguous dynamic edges in the result.",\n "type": "boolean"\n },\n "seed": {\n "description": "Value for seed.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "semantic-node",\n "description": "Value for kind.",\n "type": "string"\n },\n "node_id": {\n "description": "Value for node id.",\n "pattern": "^jsrg_node_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "node_id"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "application-node",\n "description": "Value for kind.",\n "type": "string"\n },\n "node_id": {\n "description": "Value for node id.",\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "node_id"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "literal",\n "description": "Value for kind.",\n "type": "string"\n },\n "value": {\n "$ref": "#/$defs/__schema0",\n "description": "Value for value."\n }\n },\n "required": [\n "kind",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "fingerprint_sha256": {\n "description": "Exact SHA-256 digest of fingerprint.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "kind": {\n "const": "function",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "fingerprint_sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "property",\n "description": "Value for kind.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "name"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "endpoint",\n "description": "Value for kind.",\n "type": "string"\n },\n "value": {\n "description": "Value for value.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "event",\n "description": "Value for kind.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "name"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "field": {\n "description": "Value for field.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "boundary-field",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "field"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "seed",\n "direction"\n ],\n "type": "object"\n }\n },\n "required": [\n "application",\n "query"\n ],\n "type": "object"\n },\n "kind": "application",\n "name": "trace_javascript_semantics",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "coverage": {\n "additionalProperties": false,\n "properties": {\n "status": {\n "enum": [\n "complete",\n "partial",\n "unavailable"\n ],\n "type": "string"\n }\n },\n "required": [\n "status"\n ],\n "type": "object"\n },\n "direction": {\n "enum": [\n "backward-provenance",\n "forward-influence",\n "callers",\n "ownership"\n ],\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "maxItems": 1,\n "minItems": 1,\n "type": "array"\n },\n "expected_match_node_ids": {\n "items": {\n "pattern": "^jsrg_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "nodes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "application_node_ids": {\n "items": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "artifact": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "artifact_id": {\n "pattern": "^art_[a-f0-9]{64}$",\n "type": "string"\n },\n "available": {\n "const": true,\n "type": "boolean"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "available",\n "artifact_id",\n "sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "enum": [\n "not-applicable",\n "not-observed",\n "truncated",\n "provider-unavailable",\n "unresolved",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason",\n "detail"\n ],\n "type": "object"\n }\n ]\n },\n "authority": {\n "enum": [\n "artifact-bytes",\n "ast-static-analysis",\n "static-relationship-inference",\n "passive-cdp-runtime",\n "cross-layer-reconciliation",\n "cross-version-comparison",\n "controlled-replay",\n "native-analysis-provider",\n "managed-static-analysis",\n "historical-reference",\n "user-assertion",\n "unknown"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "exact",\n "high",\n "medium",\n "low",\n "unknown"\n ],\n "type": "string"\n },\n "coverage": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "const": 0,\n "type": "number"\n },\n "status": {\n "const": "complete",\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "partial",\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "omitted_count": {\n "anyOf": [\n {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "partial",\n "type": "string"\n },\n "truncated": {\n "const": true,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "type": "null"\n },\n "status": {\n "enum": [\n "unknown",\n "unavailable"\n ],\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n }\n ]\n },\n "evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "extractor": {\n "additionalProperties": false,\n "properties": {\n "executable_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "version",\n "operation",\n "executable_sha256"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "location": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "value": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "line",\n "column"\n ],\n "type": "object"\n },\n "kind": {\n "const": "source-range",\n "type": "string"\n },\n "source": {\n "minLength": 1,\n "type": "string"\n },\n "start": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "line",\n "column"\n ],\n "type": "object"\n }\n },\n "required": [\n "kind",\n "source",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "url",\n "type": "string"\n },\n "url": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "url"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "capture_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "frame_key": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "kind": {\n "const": "runtime",\n "type": "string"\n },\n "script_key": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "target_key": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "capture_sha256",\n "target_key",\n "frame_key",\n "script_key"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "native-address",\n "type": "string"\n },\n "symbol": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "kind",\n "address",\n "symbol"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "export_path": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "package-export",\n "type": "string"\n },\n "package_name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "package_name",\n "export_path"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "available",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "enum": [\n "not-applicable",\n "not-observed",\n "truncated",\n "provider-unavailable",\n "unresolved",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason",\n "detail"\n ],\n "type": "object"\n }\n ]\n },\n "state": {\n "enum": [\n "observed",\n "inferred",\n "unknown",\n "unavailable"\n ],\n "type": "string"\n }\n },\n "required": [\n "authority",\n "state",\n "confidence",\n "artifact",\n "location",\n "extractor",\n "coverage",\n "limitations",\n "evidence_ids"\n ],\n "type": "object"\n },\n "function_node_id": {\n "anyOf": [\n {\n "pattern": "^jsrg_node_[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "identifier_strategy": {\n "additionalProperties": false,\n "properties": {\n "stability": {\n "const": "artifact-version",\n "type": "string"\n },\n "strategy": {\n "const": "semantic-content-sha256",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability"\n ],\n "type": "object"\n },\n "identity": {\n "additionalProperties": false,\n "properties": {\n "artifact_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "module_path": {\n "minLength": 1,\n "type": "string"\n },\n "role_key": {\n "minLength": 1,\n "type": "string"\n },\n "source_range": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "line",\n "column"\n ],\n "type": "object"\n },\n "start": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "line",\n "column"\n ],\n "type": "object"\n }\n },\n "required": [\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "artifact_sha256",\n "module_path",\n "source_range",\n "role_key"\n ],\n "type": "object"\n },\n "kind": {\n "enum": [\n "module",\n "function",\n "parameter",\n "binding",\n "expression",\n "literal",\n "property-slot",\n "call-site",\n "return-site",\n "closure-capture",\n "promise",\n "task",\n "event",\n "listener",\n "timer",\n "child-process",\n "stdio",\n "signal",\n "config-source",\n "request",\n "response",\n "boundary",\n "resource",\n "unknown-frontier"\n ],\n "type": "string"\n },\n "label": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "node_id": {\n "pattern": "^jsrg_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "properties": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "minLength": 1,\n "type": "string"\n },\n "type": "object"\n }\n },\n "required": [\n "kind",\n "identity",\n "function_node_id",\n "application_node_ids",\n "label",\n "properties",\n "evidence",\n "node_id",\n "identifier_strategy"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "query_id": {\n "pattern": "^jsrq_[a-f0-9]{64}$",\n "type": "string"\n },\n "relations": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "artifact": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "artifact_id": {\n "pattern": "^art_[a-f0-9]{64}$",\n "type": "string"\n },\n "available": {\n "const": true,\n "type": "boolean"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "available",\n "artifact_id",\n "sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "enum": [\n "not-applicable",\n "not-observed",\n "truncated",\n "provider-unavailable",\n "unresolved",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason",\n "detail"\n ],\n "type": "object"\n }\n ]\n },\n "authority": {\n "enum": [\n "artifact-bytes",\n "ast-static-analysis",\n "static-relationship-inference",\n "passive-cdp-runtime",\n "cross-layer-reconciliation",\n "cross-version-comparison",\n "controlled-replay",\n "native-analysis-provider",\n "managed-static-analysis",\n "historical-reference",\n "user-assertion",\n "unknown"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "exact",\n "high",\n "medium",\n "low",\n "unknown"\n ],\n "type": "string"\n },\n "coverage": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "const": 0,\n "type": "number"\n },\n "status": {\n "const": "complete",\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "partial",\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "omitted_count": {\n "anyOf": [\n {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "partial",\n "type": "string"\n },\n "truncated": {\n "const": true,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "type": "null"\n },\n "status": {\n "enum": [\n "unknown",\n "unavailable"\n ],\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n }\n ]\n },\n "evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "extractor": {\n "additionalProperties": false,\n "properties": {\n "executable_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "version",\n "operation",\n "executable_sha256"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "location": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "value": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "line",\n "column"\n ],\n "type": "object"\n },\n "kind": {\n "const": "source-range",\n "type": "string"\n },\n "source": {\n "minLength": 1,\n "type": "string"\n },\n "start": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "line",\n "column"\n ],\n "type": "object"\n }\n },\n "required": [\n "kind",\n "source",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "url",\n "type": "string"\n },\n "url": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "url"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "capture_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "frame_key": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "kind": {\n "const": "runtime",\n "type": "string"\n },\n "script_key": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "target_key": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "capture_sha256",\n "target_key",\n "frame_key",\n "script_key"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "native-address",\n "type": "string"\n },\n "symbol": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "kind",\n "address",\n "symbol"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "export_path": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "package-export",\n "type": "string"\n },\n "package_name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "package_name",\n "export_path"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "available",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "enum": [\n "not-applicable",\n "not-observed",\n "truncated",\n "provider-unavailable",\n "unresolved",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason",\n "detail"\n ],\n "type": "object"\n }\n ]\n },\n "state": {\n "enum": [\n "observed",\n "inferred",\n "unknown",\n "unavailable"\n ],\n "type": "string"\n }\n },\n "required": [\n "authority",\n "state",\n "confidence",\n "artifact",\n "location",\n "extractor",\n "coverage",\n "limitations",\n "evidence_ids"\n ],\n "type": "object"\n },\n "identifier_strategy": {\n "additionalProperties": false,\n "properties": {\n "stability": {\n "const": "relationship-exact",\n "type": "string"\n },\n "strategy": {\n "const": "semantic-content-sha256",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability"\n ],\n "type": "object"\n },\n "properties": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "minLength": 1,\n "type": "string"\n },\n "type": "object"\n },\n "relation": {\n "enum": [\n "acquires",\n "aggregates",\n "aliases",\n "argument-to-parameter",\n "awaits",\n "calls",\n "cancels-timer",\n "captures",\n "chains",\n "coerces",\n "connects-stdio",\n "consumed-by",\n "constructs-request",\n "creates-promise",\n "defaults",\n "defines",\n "destructures",\n "detaches-task",\n "dispatches-candidate",\n "forwards-signal",\n "listens-error",\n "listens-exit",\n "owns",\n "overrides",\n "parses",\n "reads",\n "reads-argv",\n "reads-config",\n "reads-environment",\n "reads-property",\n "registers-listener",\n "releases",\n "removes-listener",\n "returns-task",\n "returns-to-call",\n "schedules-timer",\n "spawns",\n "spreads",\n "supplies-argv",\n "supplies-env",\n "supplies-request-field",\n "validates",\n "writes",\n "writes-property"\n ],\n "type": "string"\n },\n "relation_id": {\n "pattern": "^jsrg_relation_[a-f0-9]{64}$",\n "type": "string"\n },\n "resolution": {\n "enum": [\n "resolved",\n "candidate"\n ],\n "type": "string"\n },\n "source_node_id": {\n "pattern": "^jsrg_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "target_node_id": {\n "pattern": "^jsrg_node_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "source_node_id",\n "target_node_id",\n "relation",\n "resolution",\n "properties",\n "evidence",\n "relation_id",\n "identifier_strategy"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "seed": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "semantic-node",\n "type": "string"\n },\n "node_id": {\n "pattern": "^jsrg_node_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "node_id"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "application-node",\n "type": "string"\n },\n "node_id": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "node_id"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "literal",\n "type": "string"\n },\n "value": {\n "$ref": "#/$defs/__schema0"\n }\n },\n "required": [\n "kind",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "fingerprint_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "kind": {\n "const": "function",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "fingerprint_sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "property",\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "name"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "endpoint",\n "type": "string"\n },\n "value": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "event",\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "name"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "field": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "boundary-field",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "field"\n ],\n "type": "object"\n }\n ]\n },\n "seed_node_ids": {\n "items": {\n "pattern": "^jsrg_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "source_evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "source_graph_id": {\n "pattern": "^jsrg_[a-f0-9]{64}$",\n "type": "string"\n },\n "status": {\n "enum": [\n "found",\n "no-match",\n "ambiguous",\n "partial",\n "unsupported"\n ],\n "type": "string"\n },\n "summary": {\n "additionalProperties": false,\n "properties": {\n "relevant_unknowns": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "total_seed_matches": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "traversed_functions": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "traversed_modules": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "traversed_nodes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "traversed_relations": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "total_seed_matches",\n "traversed_nodes",\n "traversed_relations",\n "traversed_functions",\n "traversed_modules",\n "relevant_unknowns"\n ],\n "type": "object"\n },\n "unknowns": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "candidate_node_ids": {\n "items": {\n "pattern": "^jsrg_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "artifact": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "artifact_id": {\n "pattern": "^art_[a-f0-9]{64}$",\n "type": "string"\n },\n "available": {\n "const": true,\n "type": "boolean"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "available",\n "artifact_id",\n "sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "enum": [\n "not-applicable",\n "not-observed",\n "truncated",\n "provider-unavailable",\n "unresolved",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason",\n "detail"\n ],\n "type": "object"\n }\n ]\n },\n "authority": {\n "enum": [\n "artifact-bytes",\n "ast-static-analysis",\n "static-relationship-inference",\n "passive-cdp-runtime",\n "cross-layer-reconciliation",\n "cross-version-comparison",\n "controlled-replay",\n "native-analysis-provider",\n "managed-static-analysis",\n "historical-reference",\n "user-assertion",\n "unknown"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "exact",\n "high",\n "medium",\n "low",\n "unknown"\n ],\n "type": "string"\n },\n "coverage": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "const": 0,\n "type": "number"\n },\n "status": {\n "const": "complete",\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "partial",\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "omitted_count": {\n "anyOf": [\n {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "partial",\n "type": "string"\n },\n "truncated": {\n "const": true,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "type": "null"\n },\n "status": {\n "enum": [\n "unknown",\n "unavailable"\n ],\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n }\n ]\n },\n "evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "extractor": {\n "additionalProperties": false,\n "properties": {\n "executable_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "version",\n "operation",\n "executable_sha256"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "location": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "value": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "line",\n "column"\n ],\n "type": "object"\n },\n "kind": {\n "const": "source-range",\n "type": "string"\n },\n "source": {\n "minLength": 1,\n "type": "string"\n },\n "start": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "line",\n "column"\n ],\n "type": "object"\n }\n },\n "required": [\n "kind",\n "source",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "url",\n "type": "string"\n },\n "url": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "url"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "capture_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "frame_key": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "kind": {\n "const": "runtime",\n "type": "string"\n },\n "script_key": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "target_key": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "capture_sha256",\n "target_key",\n "frame_key",\n "script_key"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "native-address",\n "type": "string"\n },\n "symbol": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "kind",\n "address",\n "symbol"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "export_path": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "package-export",\n "type": "string"\n },\n "package_name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "package_name",\n "export_path"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "available",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "enum": [\n "not-applicable",\n "not-observed",\n "truncated",\n "provider-unavailable",\n "unresolved",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason",\n "detail"\n ],\n "type": "object"\n }\n ]\n },\n "state": {\n "enum": [\n "observed",\n "inferred",\n "unknown",\n "unavailable"\n ],\n "type": "string"\n }\n },\n "required": [\n "authority",\n "state",\n "confidence",\n "artifact",\n "location",\n "extractor",\n "coverage",\n "limitations",\n "evidence_ids"\n ],\n "type": "object"\n },\n "family": {\n "enum": [\n "boundary",\n "call-flow",\n "child-process",\n "closure",\n "configuration",\n "data-flow",\n "event",\n "object-flow",\n "promise-ownership",\n "request",\n "resource-lifecycle",\n "timer"\n ],\n "type": "string"\n },\n "node_id": {\n "anyOf": [\n {\n "pattern": "^jsrg_node_[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "reason": {\n "enum": [\n "ambiguous-target",\n "bound-reached",\n "dynamic-call",\n "dynamic-property",\n "dynamic-scope",\n "eval-or-generated-code",\n "incomplete-module",\n "missing-source",\n "unsupported-syntax"\n ],\n "type": "string"\n },\n "relation_kinds": {\n "items": {\n "enum": [\n "acquires",\n "aggregates",\n "aliases",\n "argument-to-parameter",\n "awaits",\n "calls",\n "cancels-timer",\n "captures",\n "chains",\n "coerces",\n "connects-stdio",\n "consumed-by",\n "constructs-request",\n "creates-promise",\n "defaults",\n "defines",\n "destructures",\n "detaches-task",\n "dispatches-candidate",\n "forwards-signal",\n "listens-error",\n "listens-exit",\n "owns",\n "overrides",\n "parses",\n "reads",\n "reads-argv",\n "reads-config",\n "reads-environment",\n "reads-property",\n "registers-listener",\n "releases",\n "removes-listener",\n "returns-task",\n "returns-to-call",\n "schedules-timer",\n "spawns",\n "spreads",\n "supplies-argv",\n "supplies-env",\n "supplies-request-field",\n "validates",\n "writes",\n "writes-property"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "unknown_id": {\n "pattern": "^jsrg_unknown_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "node_id",\n "family",\n "relation_kinds",\n "reason",\n "detail",\n "candidate_node_ids",\n "evidence",\n "unknown_id"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "query_id",\n "source_graph_id",\n "seed",\n "direction",\n "status",\n "seed_node_ids",\n "nodes",\n "relations",\n "unknowns",\n "expected_match_node_ids",\n "summary",\n "coverage",\n "limitations",\n "source_evidence_id",\n "evidence_links"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Trace Javascript Semantics"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Compare two authenticated JavaScript Application Graph versions supplied as inline Evidence or exact same-session retained references. 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 the complete matching changed_from graph without fuzzy or module-ordinal pairing.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "left": {\n "authority": "shipped-artifact",\n "confidence": "derived",\n "environment": null,\n "evidence_id": "ev_a4ae2c7b5c501fb6dff695b168f35a6dd157fa957410910684f3a4ce4c8b5d54",\n "evidence_links": [],\n "limitations": [],\n "locations": [],\n "normalized_result": {\n "format": "directory",\n "graph": {\n "coverage": {\n "limits": [],\n "omitted_count": 0,\n "status": "complete",\n "truncated": false\n },\n "edges": [],\n "graph_id": "jag_ab15669664efc0a86bb49c9c60241913cce6980dc2293fbeef6d9c862ca01d9d",\n "limitations": [],\n "nodes": [\n {\n "identity": {\n "sha256": "c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64",\n "stability": "global-exact",\n "strategy": "content-digest"\n },\n "kind": "javascript-asset",\n "node_id": "jag_node_3c82da5492d90eb5b0bee41c1a994d88b7ba98c0b4955270d70e57a76e224c2e",\n "observations": [\n {\n "evidence": {\n "artifact": {\n "artifact_id": "art_c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64",\n "available": true,\n "sha256": "c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64"\n },\n "authority": "artifact-bytes",\n "confidence": "exact",\n "coverage": {\n "limits": [],\n "omitted_count": 0,\n "status": "complete",\n "truncated": false\n },\n "evidence_ids": [],\n "extractor": {\n "executable_sha256": null,\n "name": "rea-javascript-application",\n "operation": "inventory-relevant-file",\n "version": "1"\n },\n "limitations": [],\n "location": {\n "available": true,\n "value": {\n "kind": "artifact-path",\n "path": "renderer.js"\n }\n },\n "state": "observed"\n },\n "identifier_strategy": {\n "stability": "observation-exact",\n "strategy": "semantic-content-sha256"\n },\n "label": "renderer.js",\n "observation_id": "jag_observation_20b4d076ce370db14ae2b477915624c62e0c4a0c9e56803a2c5cb4fa60c16230",\n "properties": {\n "bytes": 29,\n "path": "renderer.js"\n }\n }\n ]\n }\n ],\n "root_node_ids": [\n "jag_node_3c82da5492d90eb5b0bee41c1a994d88b7ba98c0b4955270d70e57a76e224c2e"\n ],\n "schema": "JavaScriptApplicationGraph"\n },\n "input_path": "/Applications/Example.app/Contents/Resources/app",\n "inventory_graph_sha256": "3333333333333333333333333333333333333333333333333333333333333333",\n "inventory_manifest_id": "agm_2222222222222222222222222222222222222222222222222222222222222222",\n "limitations": [],\n "root_artifact_sha256": "1111111111111111111111111111111111111111111111111111111111111111",\n "semantic_graph": {\n "application_graph_id": "jag_ab15669664efc0a86bb49c9c60241913cce6980dc2293fbeef6d9c862ca01d9d",\n "coverage": {\n "families": [\n {\n "family": "boundary",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "call-flow",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "child-process",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "closure",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "configuration",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "data-flow",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "event",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "object-flow",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "promise-ownership",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "request",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "resource-lifecycle",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "timer",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n }\n ],\n "limits": [],\n "omitted_nodes": 0,\n "omitted_relations": 0,\n "status": "unknown",\n "truncated": false\n },\n "fingerprints": [],\n "graph_id": "jsrg_08c925d2bf4ef56d770e0e67901d5bdfb610744cf001a50d36c9bb6dcb195508",\n "limitations": [\n "Semantic relations are unavailable in this minimal example."\n ],\n "nodes": [\n {\n "application_node_ids": [\n "jag_node_3c82da5492d90eb5b0bee41c1a994d88b7ba98c0b4955270d70e57a76e224c2e"\n ],\n "evidence": {\n "artifact": {\n "artifact_id": "art_c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64",\n "available": true,\n "sha256": "c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64"\n },\n "authority": "artifact-bytes",\n "confidence": "exact",\n "coverage": {\n "limits": [],\n "omitted_count": 0,\n "status": "complete",\n "truncated": false\n },\n "evidence_ids": [],\n "extractor": {\n "executable_sha256": null,\n "name": "rea-javascript-application",\n "operation": "inventory-relevant-file",\n "version": "1"\n },\n "limitations": [],\n "location": {\n "available": true,\n "value": {\n "kind": "artifact-path",\n "path": "renderer.js"\n }\n },\n "state": "observed"\n },\n "function_node_id": null,\n "identifier_strategy": {\n "stability": "artifact-version",\n "strategy": "semantic-content-sha256"\n },\n "identity": {\n "artifact_sha256": "1111111111111111111111111111111111111111111111111111111111111111",\n "module_path": "renderer.js",\n "role_key": "example-module",\n "source_range": null\n },\n "kind": "module",\n "label": "renderer.js",\n "node_id": "jsrg_node_9476602f1f74433a2bd3dadb040a25734d203b8f831b31a8d96f7efdfc5cd66a",\n "properties": {}\n }\n ],\n "relations": [],\n "root_artifact_sha256": "1111111111111111111111111111111111111111111111111111111111111111",\n "root_node_ids": [\n "jsrg_node_9476602f1f74433a2bd3dadb040a25734d203b8f831b31a8d96f7efdfc5cd66a"\n ],\n "schema": "JavaScriptSemanticRelationGraph",\n "unknowns": []\n },\n "statistics": {\n "findings": 0,\n "invalid_utf8_files": 0,\n "modules": 0,\n "nested_asar_containers": 0,\n "parse_failures": 0,\n "parsed_javascript_files": 1,\n "relevant_files": 1,\n "text_bytes_read": 29,\n "truncated_scopes": 0,\n "visited_ast_nodes": 1\n },\n "summary": {\n "browser_windows": 0,\n "context_bridge_apis": 0,\n "explicit_web_preferences": 0,\n "exposed_api_members": 0,\n "ipc": {\n "ambiguous_renderer_transmissions": 0,\n "dynamic_channel_operations": 0,\n "literal_channels": 0,\n "main_handlers": 0,\n "operations": 0,\n "paired_renderer_transmissions": 0,\n "renderer_listeners": 0,\n "renderer_transmissions": 0,\n "unpaired_literal_renderer_transmissions": 0\n },\n "native_addon_bindings": 0,\n "preload_entrypoints": 0,\n "resolved_native_addon_bindings": 0,\n "resolved_utility_entrypoints": 0,\n "sender_validation_observations": 0,\n "utility_processes": 0\n }\n },\n "operation": "analyze_javascript_application",\n "parameters": {},\n "predicate_type": "rea.javascript-application-analysis",\n "provider": {\n "id": "rea-javascript-application",\n "name": "REA JavaScript application analyzer",\n "version": "1"\n },\n "raw_result": null,\n "subject": {\n "architecture": null,\n "digest": {\n "sha256": "1111111111111111111111111111111111111111111111111111111111111111"\n },\n "format": "directory",\n "local_path": "/Applications/Example.app/Contents/Resources/app",\n "name": "app"\n }\n },\n "right": {\n "authority": "analyst-inference",\n "confidence": "inferred",\n "environment": null,\n "evidence_id": "ev_c2754cf75e286b839ed825f247062067a6472acb1e7b6ce0f9aaceec6448d6d7",\n "evidence_links": [\n "ev_a42606ee799a093832ad3d6cfd0edd50dc9b99f78cc6d5d9130b734d48a56b4e",\n "ev_a4ae2c7b5c501fb6dff695b168f35a6dd157fa957410910684f3a4ce4c8b5d54"\n ],\n "limitations": [\n "Artifact identity is unavailable for this observation.",\n "A static module resident in an observed bundle is not reported as executed.",\n "Caller-declared file and URL mappings are inference inputs and do not expand CDP origin or filesystem-root authority.",\n "Digest equality establishes byte identity but not code reachability, module initialization, or feature execution.",\n "Not-observed means absent from the bounded captures in scope, never globally unloaded.",\n "Only caller-supplied, semantically verified Evidence records were reconciled.",\n "Source-map authority remains separate from passive runtime authority."\n ],\n "locations": [],\n "normalized_result": {\n "coverage": {\n "omitted_graph_items": 0,\n "omitted_reconciliation_items": 0,\n "omitted_runtime_entities": 0,\n "omitted_static_load_states": 0,\n "status": "complete-within-inputs",\n "truncated": false\n },\n "evidence_links": [\n "ev_a42606ee799a093832ad3d6cfd0edd50dc9b99f78cc6d5d9130b734d48a56b4e",\n "ev_a4ae2c7b5c501fb6dff695b168f35a6dd157fa957410910684f3a4ce4c8b5d54"\n ],\n "graph": {\n "coverage": {\n "limits": [],\n "omitted_count": 0,\n "status": "complete",\n "truncated": false\n },\n "edges": [\n {\n "edge_id": "jag_edge_3799eb1c2b0f224013a0edba8911a8b9edabd5fa6da2f893a6cfa24a899c9463",\n "evidence": {\n "artifact": {\n "artifact_id": "art_c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64",\n "available": true,\n "sha256": "c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64"\n },\n "authority": "cross-layer-reconciliation",\n "confidence": "high",\n "coverage": {\n "limits": [],\n "omitted_count": 0,\n "status": "complete",\n "truncated": false\n },\n "evidence_ids": [\n "ev_a42606ee799a093832ad3d6cfd0edd50dc9b99f78cc6d5d9130b734d48a56b4e",\n "ev_a4ae2c7b5c501fb6dff695b168f35a6dd157fa957410910684f3a4ce4c8b5d54"\n ],\n "extractor": {\n "executable_sha256": null,\n "name": "rea-javascript-runtime-reconciliation",\n "operation": "reconcile_javascript_runtime",\n "version": "1"\n },\n "limitations": [\n "Equal content digests establish byte identity, not execution causality.",\n "Passive script parsing or target presence does not prove feature execution."\n ],\n "location": {\n "available": true,\n "value": {\n "capture_sha256": "a4dd260f01b45e3df92482755baed7a1922b4af2226edc7f896bdbc4d2bbbd9c",\n "frame_key": null,\n "kind": "runtime",\n "script_key": "electron_script_4444444444444444444444444444444444444444444444444444444444444444",\n "target_key": "example-target"\n }\n },\n "state": "inferred"\n },\n "identifier_strategy": {\n "stability": "relationship-exact",\n "strategy": "semantic-content-sha256"\n },\n "properties": {\n "basis": "content-and-location",\n "reconciliation_id": "jrr_item_ea9d751c4bf3a2234af56b80d5ac8a1f953da9a9477cd46586a62934ff4a5fb2",\n "static_layer_id": "jrl_96fcfc590e7ca88f94b602638421674d8b13ccc7d25efff15a15b03c33b34753"\n },\n "relation": "observed_as",\n "source_node_id": "jag_node_3c82da5492d90eb5b0bee41c1a994d88b7ba98c0b4955270d70e57a76e224c2e",\n "target_node_id": "jag_node_af8ea5d1909955f39da1d844b2cad8f2f68c34b7d575ded6d04c00fa4095a88e"\n },\n {\n "edge_id": "jag_edge_f3c06b02c5ac77056b5d2a9f8de834ea0a9123b01dc369a011e3adc4a535338b",\n "evidence": {\n "artifact": {\n "available": false,\n "detail": "The relationship is runtime metadata, not standalone bytes.",\n "reason": "not-applicable"\n },\n "authority": "passive-cdp-runtime",\n "confidence": "exact",\n "coverage": {\n "limits": [],\n "omitted_count": 0,\n "status": "complete",\n "truncated": false\n },\n "evidence_ids": [\n "ev_a42606ee799a093832ad3d6cfd0edd50dc9b99f78cc6d5d9130b734d48a56b4e"\n ],\n "extractor": {\n "executable_sha256": null,\n "name": "rea-cdp-electron",\n "operation": "inspect_electron_page",\n "version": "1"\n },\n "limitations": [\n "The relationship was observed only within one bounded passive CDP capture."\n ],\n "location": {\n "available": true,\n "value": {\n "capture_sha256": "a4dd260f01b45e3df92482755baed7a1922b4af2226edc7f896bdbc4d2bbbd9c",\n "frame_key": null,\n "kind": "runtime",\n "script_key": "electron_script_4444444444444444444444444444444444444444444444444444444444444444",\n "target_key": "example-target"\n }\n },\n "state": "observed"\n },\n "identifier_strategy": {\n "stability": "relationship-exact",\n "strategy": "semantic-content-sha256"\n },\n "properties": {\n "basis": "passive-cdp-observation"\n },\n "relation": "loads",\n "source_node_id": "jag_node_f360c35c86d4893fcf83ef0fdef92cebd688fba883aa39698a1c12dd5a237265",\n "target_node_id": "jag_node_af8ea5d1909955f39da1d844b2cad8f2f68c34b7d575ded6d04c00fa4095a88e"\n }\n ],\n "graph_id": "jag_0536a9584eb91a16f78f71e8bef4cffc3105df18098fe65a7b114add520203ca",\n "limitations": [\n "Cross-layer observed_as edges are inferences; digest equality proves byte identity only.",\n "Runtime presence is bounded to passive capture windows and does not prove feature execution.",\n "Source-map relationships retain their original static authority and are not promoted into runtime matches."\n ],\n "nodes": [\n {\n "identity": {\n "sha256": "c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64",\n "stability": "global-exact",\n "strategy": "content-digest"\n },\n "kind": "javascript-asset",\n "node_id": "jag_node_3c82da5492d90eb5b0bee41c1a994d88b7ba98c0b4955270d70e57a76e224c2e",\n "observations": [\n {\n "evidence": {\n "artifact": {\n "artifact_id": "art_c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64",\n "available": true,\n "sha256": "c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64"\n },\n "authority": "artifact-bytes",\n "confidence": "exact",\n "coverage": {\n "limits": [],\n "omitted_count": 0,\n "status": "complete",\n "truncated": false\n },\n "evidence_ids": [],\n "extractor": {\n "executable_sha256": null,\n "name": "rea-javascript-application",\n "operation": "inventory-relevant-file",\n "version": "1"\n },\n "limitations": [],\n "location": {\n "available": true,\n "value": {\n "kind": "artifact-path",\n "path": "renderer.js"\n }\n },\n "state": "observed"\n },\n "identifier_strategy": {\n "stability": "observation-exact",\n "strategy": "semantic-content-sha256"\n },\n "label": "renderer.js",\n "observation_id": "jag_observation_20b4d076ce370db14ae2b477915624c62e0c4a0c9e56803a2c5cb4fa60c16230",\n "properties": {\n "bytes": 29,\n "path": "renderer.js"\n }\n }\n ]\n },\n {\n "identity": {\n "capture_sha256": "a4dd260f01b45e3df92482755baed7a1922b4af2226edc7f896bdbc4d2bbbd9c",\n "runtime_key": "electron_script_4444444444444444444444444444444444444444444444444444444444444444",\n "stability": "capture-only",\n "strategy": "runtime-instance"\n },\n "kind": "runtime-script-instance",\n "node_id": "jag_node_af8ea5d1909955f39da1d844b2cad8f2f68c34b7d575ded6d04c00fa4095a88e",\n "observations": [\n {\n "evidence": {\n "artifact": {\n "artifact_id": "art_c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64",\n "available": true,\n "sha256": "c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64"\n },\n "authority": "passive-cdp-runtime",\n "confidence": "exact",\n "coverage": {\n "limits": [],\n "omitted_count": 0,\n "status": "complete",\n "truncated": false\n },\n "evidence_ids": [\n "ev_a42606ee799a093832ad3d6cfd0edd50dc9b99f78cc6d5d9130b734d48a56b4e"\n ],\n "extractor": {\n "executable_sha256": null,\n "name": "rea-cdp-electron",\n "operation": "inspect_electron_page",\n "version": "1"\n },\n "limitations": [\n "The entity was observed only within one bounded passive CDP capture."\n ],\n "location": {\n "available": true,\n "value": {\n "capture_sha256": "a4dd260f01b45e3df92482755baed7a1922b4af2226edc7f896bdbc4d2bbbd9c",\n "frame_key": null,\n "kind": "runtime",\n "script_key": "electron_script_4444444444444444444444444444444444444444444444444444444444444444",\n "target_key": "example-target"\n }\n },\n "state": "observed"\n },\n "identifier_strategy": {\n "stability": "observation-exact",\n "strategy": "semantic-content-sha256"\n },\n "label": "/Applications/Example.app/Contents/Resources/app/renderer.js",\n "observation_id": "jag_observation_9315403b875ea70c310909daf797780ab9045ff8f4803db38a9184e4f0704f11",\n "properties": {\n "cdp_hash": "example",\n "is_module": true,\n "language": "JavaScript",\n "length": 29,\n "location": "/Applications/Example.app/Contents/Resources/app/renderer.js",\n "source_sha256": "c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64"\n }\n }\n ]\n },\n {\n "identity": {\n "capture_sha256": "a4dd260f01b45e3df92482755baed7a1922b4af2226edc7f896bdbc4d2bbbd9c",\n "runtime_key": "example-target",\n "stability": "capture-only",\n "strategy": "runtime-instance"\n },\n "kind": "target",\n "node_id": "jag_node_f360c35c86d4893fcf83ef0fdef92cebd688fba883aa39698a1c12dd5a237265",\n "observations": [\n {\n "evidence": {\n "artifact": {\n "available": false,\n "detail": "This runtime entity has no standalone artifact bytes.",\n "reason": "not-applicable"\n },\n "authority": "passive-cdp-runtime",\n "confidence": "exact",\n "coverage": {\n "limits": [],\n "omitted_count": 0,\n "status": "complete",\n "truncated": false\n },\n "evidence_ids": [\n "ev_a42606ee799a093832ad3d6cfd0edd50dc9b99f78cc6d5d9130b734d48a56b4e"\n ],\n "extractor": {\n "executable_sha256": null,\n "name": "rea-cdp-electron",\n "operation": "inspect_electron_page",\n "version": "1"\n },\n "limitations": [\n "The entity was observed only within one bounded passive CDP capture."\n ],\n "location": {\n "available": true,\n "value": {\n "capture_sha256": "a4dd260f01b45e3df92482755baed7a1922b4af2226edc7f896bdbc4d2bbbd9c",\n "frame_key": null,\n "kind": "runtime",\n "script_key": null,\n "target_key": "example-target"\n }\n },\n "state": "observed"\n },\n "identifier_strategy": {\n "stability": "observation-exact",\n "strategy": "semantic-content-sha256"\n },\n "label": "Example",\n "observation_id": "jag_observation_844a03a29af96a0bcd4625e0377b67c439af68a462c5fa83009c7c27283c5dee",\n "properties": {\n "attached": false,\n "location": "/Applications/Example.app/Contents/Resources/app/index.html",\n "runtime_type": "page"\n }\n }\n ]\n }\n ],\n "root_node_ids": [\n "jag_node_3c82da5492d90eb5b0bee41c1a994d88b7ba98c0b4955270d70e57a76e224c2e",\n "jag_node_f360c35c86d4893fcf83ef0fdef92cebd688fba883aa39698a1c12dd5a237265"\n ],\n "schema": "JavaScriptApplicationGraph"\n },\n "limitations": [\n "A static module resident in an observed bundle is not reported as executed.",\n "Caller-declared file and URL mappings are inference inputs and do not expand CDP origin or filesystem-root authority.",\n "Digest equality establishes byte identity but not code reachability, module initialization, or feature execution.",\n "Not-observed means absent from the bounded captures in scope, never globally unloaded.",\n "Only caller-supplied, semantically verified Evidence records were reconciled.",\n "Source-map authority remains separate from passive runtime authority."\n ],\n "reconciliation_id": "jrr_ec50425a5a5a5cb85aa40f13f72dcba54a8ab16170d9421a0277fbdf0fa4c9eb",\n "reconciliations": [\n {\n "basis": "none",\n "candidate_static_count": 0,\n "candidate_static_nodes": [],\n "confidence": "unknown",\n "entity_kind": "target",\n "reason": "no-static-content-match",\n "reconciliation_id": "jrr_item_abd5635b06340f082ef46bff8802a361c7b30011085f1c9e7437b29b451c1e5e",\n "runtime_evidence_id": "ev_a42606ee799a093832ad3d6cfd0edd50dc9b99f78cc6d5d9130b734d48a56b4e",\n "runtime_node_id": "jag_node_f360c35c86d4893fcf83ef0fdef92cebd688fba883aa39698a1c12dd5a237265",\n "static_layer_id": null,\n "static_node_id": null,\n "status": "unmatched"\n },\n {\n "basis": "content-and-location",\n "candidate_static_count": 1,\n "candidate_static_nodes": [\n {\n "static_layer_id": "jrl_96fcfc590e7ca88f94b602638421674d8b13ccc7d25efff15a15b03c33b34753",\n "static_node_id": "jag_node_3c82da5492d90eb5b0bee41c1a994d88b7ba98c0b4955270d70e57a76e224c2e"\n }\n ],\n "confidence": "high",\n "entity_kind": "script",\n "reason": "content-and-location-match",\n "reconciliation_id": "jrr_item_ea9d751c4bf3a2234af56b80d5ac8a1f953da9a9477cd46586a62934ff4a5fb2",\n "runtime_evidence_id": "ev_a42606ee799a093832ad3d6cfd0edd50dc9b99f78cc6d5d9130b734d48a56b4e",\n "runtime_node_id": "jag_node_af8ea5d1909955f39da1d844b2cad8f2f68c34b7d575ded6d04c00fa4095a88e",\n "static_layer_id": "jrl_96fcfc590e7ca88f94b602638421674d8b13ccc7d25efff15a15b03c33b34753",\n "static_node_id": "jag_node_3c82da5492d90eb5b0bee41c1a994d88b7ba98c0b4955270d70e57a76e224c2e",\n "status": "matched"\n }\n ],\n "runtime_captures": [\n {\n "capture_sha256": "a4dd260f01b45e3df92482755baed7a1922b4af2226edc7f896bdbc4d2bbbd9c",\n "evidence_id": "ev_a42606ee799a093832ad3d6cfd0edd50dc9b99f78cc6d5d9130b734d48a56b4e",\n "frames": 0,\n "kind": "electron",\n "scripts": 1,\n "scripts_complete_within_scope": true,\n "target_key": "example-target",\n "target_location": "/Applications/Example.app/Contents/Resources/app/index.html",\n "target_node_id": "jag_node_f360c35c86d4893fcf83ef0fdef92cebd688fba883aa39698a1c12dd5a237265",\n "workers": 0\n }\n ],\n "source_map_authority": {\n "limitation": "Source-map declarations and original-source content retain separate static authority and are not used as primary runtime byte matches.",\n "runtime_script_declarations": 0,\n "static_layer_count": 1,\n "used_for_primary_matching": false\n },\n "static_layers": [\n {\n "evidence_id": "ev_a4ae2c7b5c501fb6dff695b168f35a6dd157fa957410910684f3a4ce4c8b5d54",\n "format": "directory",\n "graph_id": "jag_ab15669664efc0a86bb49c9c60241913cce6980dc2293fbeef6d9c862ca01d9d",\n "input_path": "/Applications/Example.app/Contents/Resources/app",\n "layer_id": "jrl_96fcfc590e7ca88f94b602638421674d8b13ccc7d25efff15a15b03c33b34753",\n "role": "application",\n "root_artifact_sha256": "1111111111111111111111111111111111111111111111111111111111111111",\n "runtime_mappings": []\n }\n ],\n "static_load_states": [\n {\n "kind": "javascript-asset",\n "reason": "runtime-script-correspondence",\n "runtime_node_ids": [\n "jag_node_af8ea5d1909955f39da1d844b2cad8f2f68c34b7d575ded6d04c00fa4095a88e"\n ],\n "static_layer_id": "jrl_96fcfc590e7ca88f94b602638421674d8b13ccc7d25efff15a15b03c33b34753",\n "static_node_id": "jag_node_3c82da5492d90eb5b0bee41c1a994d88b7ba98c0b4955270d70e57a76e224c2e",\n "status": "loaded"\n }\n ],\n "summary": {\n "ambiguous": 0,\n "matched": 1,\n "runtime_frames": 0,\n "runtime_scripts": 1,\n "runtime_targets": 1,\n "runtime_workers": 0,\n "static_loaded": 1,\n "static_not_observed": 0,\n "static_resident": 0,\n "static_unknown": 0,\n "unknown": 0,\n "unmatched": 1\n }\n },\n "operation": "reconcile_javascript_runtime",\n "parameters": {\n "runtime_evidence_ids": [\n "ev_a42606ee799a093832ad3d6cfd0edd50dc9b99f78cc6d5d9130b734d48a56b4e"\n ],\n "static_layers": [\n {\n "evidence_id": "ev_a4ae2c7b5c501fb6dff695b168f35a6dd157fa957410910684f3a4ce4c8b5d54",\n "role": "application",\n "runtime_mappings": []\n }\n ]\n },\n "predicate_type": "rea.javascript-runtime-reconciliation",\n "provider": {\n "id": "rea-javascript-runtime-reconciliation",\n "name": "REA JavaScript runtime reconciliation",\n "version": "1"\n },\n "raw_result": null,\n "subject": null\n }\n },\n {\n "left": {\n "evidence_id": "ev_a4ae2c7b5c501fb6dff695b168f35a6dd157fa957410910684f3a4ce4c8b5d54",\n "kind": "retained-evidence"\n },\n "right": {\n "evidence_id": "ev_c2754cf75e286b839ed825f247062067a6472acb1e7b6ce0f9aaceec6448d6d7",\n "kind": "retained-evidence"\n }\n }\n ],\n "properties": {\n "left": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "description": "Value for analysis profile.",\n "properties": {\n "digest": {\n "description": "Value for digest.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "description": "Value for version.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "description": "Value for authority.",\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "description": "Value for confidence.",\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "description": "Value for architecture.",\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "description": "Value for isolation.",\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "description": "Value for platform.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for environment."\n },\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "description": "Value for evidence links.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "description": "Value for locations.",\n "items": {\n "oneOf": [\n {\n "properties": {\n "address": {\n "description": "Value for address.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "artifact-path",\n "description": "Value for kind.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "file-offset",\n "description": "Value for kind.",\n "type": "string"\n },\n "offset": {\n "description": "Value for offset.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0",\n "description": "Value for normalized result."\n },\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "description": "Value for predicate type.",\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for version."\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for raw result."\n },\n "subject": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "digest": {\n "description": "Value for digest.",\n "properties": {\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "description": "Declared input artifact format.",\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "description": "Local filesystem path for local.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for subject."\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "kind": {\n "const": "retained-evidence",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "evidence_id"\n ],\n "type": "object"\n }\n ],\n "description": "Left-hand input used for comparison or differential execution."\n },\n "left_native_observations": {\n "default": [],\n "description": "Value for left native observations.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "description": "Value for analysis profile.",\n "properties": {\n "digest": {\n "description": "Value for digest.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "description": "Value for version.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "description": "Value for authority.",\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "description": "Value for confidence.",\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "description": "Value for architecture.",\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "description": "Value for isolation.",\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "description": "Value for platform.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for environment."\n },\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "description": "Value for evidence links.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "description": "Value for locations.",\n "items": {\n "oneOf": [\n {\n "properties": {\n "address": {\n "description": "Value for address.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "artifact-path",\n "description": "Value for kind.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "file-offset",\n "description": "Value for kind.",\n "type": "string"\n },\n "offset": {\n "description": "Value for offset.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0",\n "description": "Value for normalized result."\n },\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "description": "Value for predicate type.",\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for version."\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for raw result."\n },\n "subject": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "digest": {\n "description": "Value for digest.",\n "properties": {\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "description": "Declared input artifact format.",\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "description": "Local filesystem path for local.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for subject."\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "right": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "description": "Value for analysis profile.",\n "properties": {\n "digest": {\n "description": "Value for digest.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "description": "Value for version.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "description": "Value for authority.",\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "description": "Value for confidence.",\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "description": "Value for architecture.",\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "description": "Value for isolation.",\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "description": "Value for platform.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for environment."\n },\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "description": "Value for evidence links.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "description": "Value for locations.",\n "items": {\n "oneOf": [\n {\n "properties": {\n "address": {\n "description": "Value for address.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "artifact-path",\n "description": "Value for kind.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "file-offset",\n "description": "Value for kind.",\n "type": "string"\n },\n "offset": {\n "description": "Value for offset.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0",\n "description": "Value for normalized result."\n },\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "description": "Value for predicate type.",\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for version."\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for raw result."\n },\n "subject": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "digest": {\n "description": "Value for digest.",\n "properties": {\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "description": "Declared input artifact format.",\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "description": "Local filesystem path for local.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for subject."\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "kind": {\n "const": "retained-evidence",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "evidence_id"\n ],\n "type": "object"\n }\n ],\n "description": "Right-hand input used for comparison or differential execution."\n },\n "right_native_observations": {\n "default": [],\n "description": "Value for right native observations.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "description": "Value for analysis profile.",\n "properties": {\n "digest": {\n "description": "Value for digest.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "description": "Value for version.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "description": "Value for authority.",\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "description": "Value for confidence.",\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "description": "Value for architecture.",\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "description": "Value for isolation.",\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "description": "Value for platform.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for environment."\n },\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "description": "Value for evidence links.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "description": "Value for locations.",\n "items": {\n "oneOf": [\n {\n "properties": {\n "address": {\n "description": "Value for address.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "artifact-path",\n "description": "Value for kind.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "file-offset",\n "description": "Value for kind.",\n "type": "string"\n },\n "offset": {\n "description": "Value for offset.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0",\n "description": "Value for normalized result."\n },\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "description": "Value for predicate type.",\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for version."\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for raw result."\n },\n "subject": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "digest": {\n "description": "Value for digest.",\n "properties": {\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "description": "Declared input artifact format.",\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "description": "Local filesystem path for local.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for subject."\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "left",\n "right"\n ],\n "type": "object"\n },\n "kind": "application",\n "name": "compare_application_versions",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "comparison_id": {\n "pattern": "^javc_[a-f0-9]{64}$",\n "type": "string"\n },\n "coverage": {\n "additionalProperties": false,\n "properties": {\n "left_graph_omitted_count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "left_graph_status": {\n "enum": [\n "complete",\n "partial",\n "unknown",\n "unavailable"\n ],\n "type": "string"\n },\n "right_graph_omitted_count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "right_graph_status": {\n "enum": [\n "complete",\n "partial",\n "unknown",\n "unavailable"\n ],\n "type": "string"\n },\n "status": {\n "enum": [\n "complete-within-inputs",\n "partial",\n "truncated"\n ],\n "type": "string"\n }\n },\n "required": [\n "left_graph_status",\n "right_graph_status",\n "left_graph_omitted_count",\n "right_graph_omitted_count",\n "status"\n ],\n "type": "object"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 2,\n "type": "array"\n },\n "graph": {\n "additionalProperties": false,\n "properties": {\n "coverage": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "const": 0,\n "type": "number"\n },\n "status": {\n "const": "complete",\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "partial",\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "omitted_count": {\n "anyOf": [\n {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "partial",\n "type": "string"\n },\n "truncated": {\n "const": true,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "type": "null"\n },\n "status": {\n "enum": [\n "unknown",\n "unavailable"\n ],\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n }\n ]\n },\n "edges": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "edge_id": {\n "pattern": "^jag_edge_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "artifact": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "artifact_id": {\n "pattern": "^art_[a-f0-9]{64}$",\n "type": "string"\n },\n "available": {\n "const": true,\n "type": "boolean"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "available",\n "artifact_id",\n "sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "enum": [\n "not-applicable",\n "not-observed",\n "truncated",\n "provider-unavailable",\n "unresolved",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason",\n "detail"\n ],\n "type": "object"\n }\n ]\n },\n "authority": {\n "enum": [\n "artifact-bytes",\n "ast-static-analysis",\n "static-relationship-inference",\n "passive-cdp-runtime",\n "cross-layer-reconciliation",\n "cross-version-comparison",\n "controlled-replay",\n "native-analysis-provider",\n "managed-static-analysis",\n "historical-reference",\n "user-assertion",\n "unknown"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "exact",\n "high",\n "medium",\n "low",\n "unknown"\n ],\n "type": "string"\n },\n "coverage": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "const": 0,\n "type": "number"\n },\n "status": {\n "const": "complete",\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "partial",\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "omitted_count": {\n "anyOf": [\n {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "partial",\n "type": "string"\n },\n "truncated": {\n "const": true,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "type": "null"\n },\n "status": {\n "enum": [\n "unknown",\n "unavailable"\n ],\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n }\n ]\n },\n "evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "extractor": {\n "additionalProperties": false,\n "properties": {\n "executable_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "version",\n "operation",\n "executable_sha256"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "location": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "value": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "line",\n "column"\n ],\n "type": "object"\n },\n "kind": {\n "const": "source-range",\n "type": "string"\n },\n "source": {\n "minLength": 1,\n "type": "string"\n },\n "start": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "line",\n "column"\n ],\n "type": "object"\n }\n },\n "required": [\n "kind",\n "source",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "url",\n "type": "string"\n },\n "url": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "url"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "capture_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "frame_key": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "kind": {\n "const": "runtime",\n "type": "string"\n },\n "script_key": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "target_key": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "capture_sha256",\n "target_key",\n "frame_key",\n "script_key"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "native-address",\n "type": "string"\n },\n "symbol": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "kind",\n "address",\n "symbol"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "export_path": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "package-export",\n "type": "string"\n },\n "package_name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "package_name",\n "export_path"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "available",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "enum": [\n "not-applicable",\n "not-observed",\n "truncated",\n "provider-unavailable",\n "unresolved",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason",\n "detail"\n ],\n "type": "object"\n }\n ]\n },\n "state": {\n "enum": [\n "observed",\n "inferred",\n "unknown",\n "unavailable"\n ],\n "type": "string"\n }\n },\n "required": [\n "authority",\n "state",\n "confidence",\n "artifact",\n "location",\n "extractor",\n "coverage",\n "limitations",\n "evidence_ids"\n ],\n "type": "object"\n },\n "identifier_strategy": {\n "additionalProperties": false,\n "properties": {\n "stability": {\n "const": "relationship-exact",\n "type": "string"\n },\n "strategy": {\n "const": "semantic-content-sha256",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability"\n ],\n "type": "object"\n },\n "properties": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "minLength": 1,\n "type": "string"\n },\n "type": "object"\n },\n "relation": {\n "enum": [\n "contains",\n "loads",\n "imports",\n "maps_to",\n "exposes",\n "sends",\n "invokes",\n "handles",\n "calls",\n "persists_to",\n "observed_as",\n "changed_from"\n ],\n "type": "string"\n },\n "source_node_id": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "target_node_id": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "source_node_id",\n "target_node_id",\n "relation",\n "properties",\n "evidence",\n "edge_id",\n "identifier_strategy"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "graph_id": {\n "pattern": "^jag_[a-f0-9]{64}$",\n "type": "string"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "nodes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "identity": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "stability": {\n "const": "global-exact",\n "type": "string"\n },\n "strategy": {\n "const": "content-digest",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability",\n "sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "original_source": {\n "type": "string"\n },\n "source_map_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "source_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "stability": {\n "const": "source-map-exact",\n "type": "string"\n },\n "strategy": {\n "const": "source-map-original",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability",\n "source_map_sha256",\n "original_source",\n "source_sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "artifact_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n },\n "stability": {\n "const": "artifact-version",\n "type": "string"\n },\n "strategy": {\n "const": "canonical-path",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability",\n "artifact_sha256",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "algorithm": {\n "minLength": 1,\n "type": "string"\n },\n "basis": {\n "items": {\n "enum": [\n "syntax-tree",\n "control-flow",\n "imports",\n "exports",\n "literals",\n "api-usage"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "fingerprint_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "stability": {\n "const": "cross-version-inference",\n "type": "string"\n },\n "strategy": {\n "const": "structural-fingerprint",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability",\n "algorithm",\n "fingerprint_sha256",\n "basis"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "artifact_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "key": {\n "type": "string"\n },\n "namespace": {\n "minLength": 1,\n "type": "string"\n },\n "stability": {\n "const": "artifact-version",\n "type": "string"\n },\n "strategy": {\n "const": "artifact-local-key",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability",\n "artifact_sha256",\n "namespace",\n "key"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "capture_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "runtime_key": {\n "minLength": 1,\n "type": "string"\n },\n "stability": {\n "const": "capture-only",\n "type": "string"\n },\n "strategy": {\n "const": "runtime-instance",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability",\n "capture_sha256",\n "runtime_key"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "observation_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "scope": {\n "minLength": 1,\n "type": "string"\n },\n "stability": {\n "const": "observation-only",\n "type": "string"\n },\n "strategy": {\n "const": "observation-fingerprint",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability",\n "observation_sha256",\n "scope"\n ],\n "type": "object"\n }\n ]\n },\n "kind": {\n "enum": [\n "package",\n "installer",\n "artifact",\n "asar-entry",\n "electron-main",\n "electron-preload",\n "electron-renderer",\n "electron-utility",\n "javascript-asset",\n "javascript-chunk",\n "javascript-module",\n "source-map",\n "source-module",\n "browser-window",\n "frame",\n "target",\n "context-bridge-api",\n "ipc-channel",\n "ipc-handler",\n "worker",\n "service-worker",\n "endpoint",\n "storage",\n "native-addon",\n "native-export",\n "managed-assembly",\n "managed-module",\n "managed-type",\n "managed-method",\n "managed-field",\n "managed-pinvoke-import",\n "managed-native-implementation",\n "runtime-script-instance",\n "unknown"\n ],\n "type": "string"\n },\n "node_id": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "observations": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "artifact": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "artifact_id": {\n "pattern": "^art_[a-f0-9]{64}$",\n "type": "string"\n },\n "available": {\n "const": true,\n "type": "boolean"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "available",\n "artifact_id",\n "sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "enum": [\n "not-applicable",\n "not-observed",\n "truncated",\n "provider-unavailable",\n "unresolved",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason",\n "detail"\n ],\n "type": "object"\n }\n ]\n },\n "authority": {\n "enum": [\n "artifact-bytes",\n "ast-static-analysis",\n "static-relationship-inference",\n "passive-cdp-runtime",\n "cross-layer-reconciliation",\n "cross-version-comparison",\n "controlled-replay",\n "native-analysis-provider",\n "managed-static-analysis",\n "historical-reference",\n "user-assertion",\n "unknown"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "exact",\n "high",\n "medium",\n "low",\n "unknown"\n ],\n "type": "string"\n },\n "coverage": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "const": 0,\n "type": "number"\n },\n "status": {\n "const": "complete",\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "partial",\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "omitted_count": {\n "anyOf": [\n {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "partial",\n "type": "string"\n },\n "truncated": {\n "const": true,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "type": "null"\n },\n "status": {\n "enum": [\n "unknown",\n "unavailable"\n ],\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n }\n ]\n },\n "evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "extractor": {\n "additionalProperties": false,\n "properties": {\n "executable_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "version",\n "operation",\n "executable_sha256"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "location": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "value": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "line",\n "column"\n ],\n "type": "object"\n },\n "kind": {\n "const": "source-range",\n "type": "string"\n },\n "source": {\n "minLength": 1,\n "type": "string"\n },\n "start": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "line",\n "column"\n ],\n "type": "object"\n }\n },\n "required": [\n "kind",\n "source",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "url",\n "type": "string"\n },\n "url": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "url"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "capture_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "frame_key": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "kind": {\n "const": "runtime",\n "type": "string"\n },\n "script_key": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "target_key": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "capture_sha256",\n "target_key",\n "frame_key",\n "script_key"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "native-address",\n "type": "string"\n },\n "symbol": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "kind",\n "address",\n "symbol"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "export_path": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "package-export",\n "type": "string"\n },\n "package_name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "package_name",\n "export_path"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "available",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "enum": [\n "not-applicable",\n "not-observed",\n "truncated",\n "provider-unavailable",\n "unresolved",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason",\n "detail"\n ],\n "type": "object"\n }\n ]\n },\n "state": {\n "enum": [\n "observed",\n "inferred",\n "unknown",\n "unavailable"\n ],\n "type": "string"\n }\n },\n "required": [\n "authority",\n "state",\n "confidence",\n "artifact",\n "location",\n "extractor",\n "coverage",\n "limitations",\n "evidence_ids"\n ],\n "type": "object"\n },\n "identifier_strategy": {\n "additionalProperties": false,\n "properties": {\n "stability": {\n "const": "observation-exact",\n "type": "string"\n },\n "strategy": {\n "const": "semantic-content-sha256",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability"\n ],\n "type": "object"\n },\n "label": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "observation_id": {\n "pattern": "^jag_observation_[a-f0-9]{64}$",\n "type": "string"\n },\n "properties": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "minLength": 1,\n "type": "string"\n },\n "type": "object"\n }\n },\n "required": [\n "label",\n "properties",\n "evidence",\n "observation_id",\n "identifier_strategy"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "node_id",\n "kind",\n "identity",\n "observations"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "root_node_ids": {\n "items": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "schema": {\n "const": "JavaScriptApplicationGraph",\n "type": "string"\n }\n },\n "required": [\n "schema",\n "root_node_ids",\n "nodes",\n "edges",\n "coverage",\n "limitations",\n "graph_id"\n ],\n "type": "object"\n },\n "items": {\n "items": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "dimensions": {\n "items": {\n "enum": [\n "content",\n "location",\n "properties",\n "relationships",\n "availability",\n "coverage"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 2,\n "type": "array"\n },\n "item_id": {\n "pattern": "^javc_item_[a-f0-9]{64}$",\n "type": "string"\n },\n "left_node_id": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "match": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "basis": {\n "enum": [\n "exact-node-identity",\n "exact-content-digest",\n "exact-module-source-digest"\n ],\n "type": "string"\n },\n "candidate_left_node_ids": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "candidate_right_node_ids": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "confidence": {\n "const": "exact",\n "type": "string"\n },\n "status": {\n "const": "matched",\n "type": "string"\n }\n },\n "required": [\n "status",\n "basis",\n "confidence",\n "candidate_left_node_ids",\n "candidate_right_node_ids"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "basis": {\n "const": "source-map-identity",\n "type": "string"\n },\n "candidate_left_node_ids": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "candidate_right_node_ids": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "confidence": {\n "const": "high",\n "type": "string"\n },\n "status": {\n "const": "matched",\n "type": "string"\n }\n },\n "required": [\n "status",\n "basis",\n "confidence",\n "candidate_left_node_ids",\n "candidate_right_node_ids"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "basis": {\n "enum": [\n "structural-fingerprint",\n "semantic-key"\n ],\n "type": "string"\n },\n "candidate_left_node_ids": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "candidate_right_node_ids": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "confidence": {\n "const": "medium",\n "type": "string"\n },\n "status": {\n "const": "matched",\n "type": "string"\n }\n },\n "required": [\n "status",\n "basis",\n "confidence",\n "candidate_left_node_ids",\n "candidate_right_node_ids"\n ],\n "type": "object"\n }\n ]\n },\n "node_kind": {\n "enum": [\n "package",\n "installer",\n "artifact",\n "asar-entry",\n "electron-main",\n "electron-preload",\n "electron-renderer",\n "electron-utility",\n "javascript-asset",\n "javascript-chunk",\n "javascript-module",\n "source-map",\n "source-module",\n "browser-window",\n "frame",\n "target",\n "context-bridge-api",\n "ipc-channel",\n "ipc-handler",\n "worker",\n "service-worker",\n "endpoint",\n "storage",\n "native-addon",\n "native-export",\n "managed-assembly",\n "managed-module",\n "managed-type",\n "managed-method",\n "managed-field",\n "managed-pinvoke-import",\n "managed-native-implementation",\n "runtime-script-instance",\n "unknown"\n ],\n "type": "string"\n },\n "right_node_id": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "status": {\n "enum": [\n "unchanged",\n "changed",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "item_id",\n "node_kind",\n "dimensions",\n "evidence_links",\n "limitations",\n "status",\n "left_node_id",\n "right_node_id",\n "match"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "dimensions": {\n "items": {\n "enum": [\n "content",\n "location",\n "properties",\n "relationships",\n "availability",\n "coverage"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 2,\n "type": "array"\n },\n "item_id": {\n "pattern": "^javc_item_[a-f0-9]{64}$",\n "type": "string"\n },\n "left_node_id": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "match": {\n "additionalProperties": false,\n "properties": {\n "basis": {\n "const": "none",\n "type": "string"\n },\n "candidate_left_node_ids": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "candidate_right_node_ids": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "confidence": {\n "const": "unknown",\n "type": "string"\n },\n "status": {\n "const": "unmatched",\n "type": "string"\n }\n },\n "required": [\n "status",\n "basis",\n "confidence",\n "candidate_left_node_ids",\n "candidate_right_node_ids"\n ],\n "type": "object"\n },\n "node_kind": {\n "enum": [\n "package",\n "installer",\n "artifact",\n "asar-entry",\n "electron-main",\n "electron-preload",\n "electron-renderer",\n "electron-utility",\n "javascript-asset",\n "javascript-chunk",\n "javascript-module",\n "source-map",\n "source-module",\n "browser-window",\n "frame",\n "target",\n "context-bridge-api",\n "ipc-channel",\n "ipc-handler",\n "worker",\n "service-worker",\n "endpoint",\n "storage",\n "native-addon",\n "native-export",\n "managed-assembly",\n "managed-module",\n "managed-type",\n "managed-method",\n "managed-field",\n "managed-pinvoke-import",\n "managed-native-implementation",\n "runtime-script-instance",\n "unknown"\n ],\n "type": "string"\n },\n "right_node_id": {\n "type": "null"\n },\n "status": {\n "enum": [\n "removed",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "item_id",\n "node_kind",\n "dimensions",\n "evidence_links",\n "limitations",\n "status",\n "left_node_id",\n "right_node_id",\n "match"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "dimensions": {\n "items": {\n "enum": [\n "content",\n "location",\n "properties",\n "relationships",\n "availability",\n "coverage"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 2,\n "type": "array"\n },\n "item_id": {\n "pattern": "^javc_item_[a-f0-9]{64}$",\n "type": "string"\n },\n "left_node_id": {\n "type": "null"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "match": {\n "additionalProperties": false,\n "properties": {\n "basis": {\n "const": "none",\n "type": "string"\n },\n "candidate_left_node_ids": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "candidate_right_node_ids": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "confidence": {\n "const": "unknown",\n "type": "string"\n },\n "status": {\n "const": "unmatched",\n "type": "string"\n }\n },\n "required": [\n "status",\n "basis",\n "confidence",\n "candidate_left_node_ids",\n "candidate_right_node_ids"\n ],\n "type": "object"\n },\n "node_kind": {\n "enum": [\n "package",\n "installer",\n "artifact",\n "asar-entry",\n "electron-main",\n "electron-preload",\n "electron-renderer",\n "electron-utility",\n "javascript-asset",\n "javascript-chunk",\n "javascript-module",\n "source-map",\n "source-module",\n "browser-window",\n "frame",\n "target",\n "context-bridge-api",\n "ipc-channel",\n "ipc-handler",\n "worker",\n "service-worker",\n "endpoint",\n "storage",\n "native-addon",\n "native-export",\n "managed-assembly",\n "managed-module",\n "managed-type",\n "managed-method",\n "managed-field",\n "managed-pinvoke-import",\n "managed-native-implementation",\n "runtime-script-instance",\n "unknown"\n ],\n "type": "string"\n },\n "right_node_id": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "status": {\n "enum": [\n "added",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "item_id",\n "node_kind",\n "dimensions",\n "evidence_links",\n "limitations",\n "status",\n "left_node_id",\n "right_node_id",\n "match"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "dimensions": {\n "items": {\n "enum": [\n "content",\n "location",\n "properties",\n "relationships",\n "availability",\n "coverage"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 2,\n "type": "array"\n },\n "item_id": {\n "pattern": "^javc_item_[a-f0-9]{64}$",\n "type": "string"\n },\n "left_node_id": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "match": {\n "additionalProperties": false,\n "properties": {\n "basis": {\n "const": "none",\n "type": "string"\n },\n "candidate_left_node_ids": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "candidate_right_node_ids": {\n "items": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "prefixItems": [\n {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n }\n ],\n "type": "array"\n },\n "confidence": {\n "const": "unknown",\n "type": "string"\n },\n "status": {\n "const": "ambiguous",\n "type": "string"\n }\n },\n "required": [\n "status",\n "basis",\n "confidence",\n "candidate_left_node_ids",\n "candidate_right_node_ids"\n ],\n "type": "object"\n },\n "node_kind": {\n "enum": [\n "package",\n "installer",\n "artifact",\n "asar-entry",\n "electron-main",\n "electron-preload",\n "electron-renderer",\n "electron-utility",\n "javascript-asset",\n "javascript-chunk",\n "javascript-module",\n "source-map",\n "source-module",\n "browser-window",\n "frame",\n "target",\n "context-bridge-api",\n "ipc-channel",\n "ipc-handler",\n "worker",\n "service-worker",\n "endpoint",\n "storage",\n "native-addon",\n "native-export",\n "managed-assembly",\n "managed-module",\n "managed-type",\n "managed-method",\n "managed-field",\n "managed-pinvoke-import",\n "managed-native-implementation",\n "runtime-script-instance",\n "unknown"\n ],\n "type": "string"\n },\n "right_node_id": {\n "type": "null"\n },\n "status": {\n "const": "unknown",\n "type": "string"\n }\n },\n "required": [\n "item_id",\n "node_kind",\n "dimensions",\n "evidence_links",\n "limitations",\n "status",\n "left_node_id",\n "right_node_id",\n "match"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "dimensions": {\n "items": {\n "enum": [\n "content",\n "location",\n "properties",\n "relationships",\n "availability",\n "coverage"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 2,\n "type": "array"\n },\n "item_id": {\n "pattern": "^javc_item_[a-f0-9]{64}$",\n "type": "string"\n },\n "left_node_id": {\n "type": "null"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "match": {\n "additionalProperties": false,\n "properties": {\n "basis": {\n "const": "none",\n "type": "string"\n },\n "candidate_left_node_ids": {\n "items": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "prefixItems": [\n {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n }\n ],\n "type": "array"\n },\n "candidate_right_node_ids": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "confidence": {\n "const": "unknown",\n "type": "string"\n },\n "status": {\n "const": "ambiguous",\n "type": "string"\n }\n },\n "required": [\n "status",\n "basis",\n "confidence",\n "candidate_left_node_ids",\n "candidate_right_node_ids"\n ],\n "type": "object"\n },\n "node_kind": {\n "enum": [\n "package",\n "installer",\n "artifact",\n "asar-entry",\n "electron-main",\n "electron-preload",\n "electron-renderer",\n "electron-utility",\n "javascript-asset",\n "javascript-chunk",\n "javascript-module",\n "source-map",\n "source-module",\n "browser-window",\n "frame",\n "target",\n "context-bridge-api",\n "ipc-channel",\n "ipc-handler",\n "worker",\n "service-worker",\n "endpoint",\n "storage",\n "native-addon",\n "native-export",\n "managed-assembly",\n "managed-module",\n "managed-type",\n "managed-method",\n "managed-field",\n "managed-pinvoke-import",\n "managed-native-implementation",\n "runtime-script-instance",\n "unknown"\n ],\n "type": "string"\n },\n "right_node_id": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "status": {\n "const": "unknown",\n "type": "string"\n }\n },\n "required": [\n "item_id",\n "node_kind",\n "dimensions",\n "evidence_links",\n "limitations",\n "status",\n "left_node_id",\n "right_node_id",\n "match"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "left": {\n "additionalProperties": false,\n "properties": {\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "graph_id": {\n "pattern": "^jag_[a-f0-9]{64}$",\n "type": "string"\n },\n "root_artifact_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "evidence_id",\n "graph_id",\n "root_artifact_sha256"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "matching": {\n "additionalProperties": false,\n "properties": {\n "ambiguous": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "exact_content_digest": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "exact_module_source_digest": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "exact_node_identity": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "semantic_key": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "source_map_identity": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "structural_fingerprint": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "unmatched": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "exact_node_identity",\n "exact_content_digest",\n "exact_module_source_digest",\n "source_map_identity",\n "structural_fingerprint",\n "semantic_key",\n "ambiguous",\n "unmatched"\n ],\n "type": "object"\n },\n "right": {\n "additionalProperties": false,\n "properties": {\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "graph_id": {\n "pattern": "^jag_[a-f0-9]{64}$",\n "type": "string"\n },\n "root_artifact_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "evidence_id",\n "graph_id",\n "root_artifact_sha256"\n ],\n "type": "object"\n },\n "summary": {\n "additionalProperties": false,\n "properties": {\n "added": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "changed": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "removed": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "unchanged": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "unknown": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "unchanged",\n "added",\n "removed",\n "changed",\n "unknown"\n ],\n "type": "object"\n }\n },\n "required": [\n "comparison_id",\n "left",\n "right",\n "summary",\n "matching",\n "items",\n "graph",\n "coverage",\n "evidence_links",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Compare Application Versions"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Compare a cryptographically committed HistoricalSourceGraph with authenticated JavaScript Application Graph Evidence supplied inline or by exact same-session retained reference. 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.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "application": {\n "authority": "shipped-artifact",\n "confidence": "derived",\n "environment": null,\n "evidence_id": "ev_a4ae2c7b5c501fb6dff695b168f35a6dd157fa957410910684f3a4ce4c8b5d54",\n "evidence_links": [],\n "limitations": [],\n "locations": [],\n "normalized_result": {\n "format": "directory",\n "graph": {\n "coverage": {\n "limits": [],\n "omitted_count": 0,\n "status": "complete",\n "truncated": false\n },\n "edges": [],\n "graph_id": "jag_ab15669664efc0a86bb49c9c60241913cce6980dc2293fbeef6d9c862ca01d9d",\n "limitations": [],\n "nodes": [\n {\n "identity": {\n "sha256": "c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64",\n "stability": "global-exact",\n "strategy": "content-digest"\n },\n "kind": "javascript-asset",\n "node_id": "jag_node_3c82da5492d90eb5b0bee41c1a994d88b7ba98c0b4955270d70e57a76e224c2e",\n "observations": [\n {\n "evidence": {\n "artifact": {\n "artifact_id": "art_c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64",\n "available": true,\n "sha256": "c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64"\n },\n "authority": "artifact-bytes",\n "confidence": "exact",\n "coverage": {\n "limits": [],\n "omitted_count": 0,\n "status": "complete",\n "truncated": false\n },\n "evidence_ids": [],\n "extractor": {\n "executable_sha256": null,\n "name": "rea-javascript-application",\n "operation": "inventory-relevant-file",\n "version": "1"\n },\n "limitations": [],\n "location": {\n "available": true,\n "value": {\n "kind": "artifact-path",\n "path": "renderer.js"\n }\n },\n "state": "observed"\n },\n "identifier_strategy": {\n "stability": "observation-exact",\n "strategy": "semantic-content-sha256"\n },\n "label": "renderer.js",\n "observation_id": "jag_observation_20b4d076ce370db14ae2b477915624c62e0c4a0c9e56803a2c5cb4fa60c16230",\n "properties": {\n "bytes": 29,\n "path": "renderer.js"\n }\n }\n ]\n }\n ],\n "root_node_ids": [\n "jag_node_3c82da5492d90eb5b0bee41c1a994d88b7ba98c0b4955270d70e57a76e224c2e"\n ],\n "schema": "JavaScriptApplicationGraph"\n },\n "input_path": "/Applications/Example.app/Contents/Resources/app",\n "inventory_graph_sha256": "3333333333333333333333333333333333333333333333333333333333333333",\n "inventory_manifest_id": "agm_2222222222222222222222222222222222222222222222222222222222222222",\n "limitations": [],\n "root_artifact_sha256": "1111111111111111111111111111111111111111111111111111111111111111",\n "semantic_graph": {\n "application_graph_id": "jag_ab15669664efc0a86bb49c9c60241913cce6980dc2293fbeef6d9c862ca01d9d",\n "coverage": {\n "families": [\n {\n "family": "boundary",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "call-flow",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "child-process",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "closure",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "configuration",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "data-flow",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "event",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "object-flow",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "promise-ownership",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "request",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "resource-lifecycle",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "timer",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n }\n ],\n "limits": [],\n "omitted_nodes": 0,\n "omitted_relations": 0,\n "status": "unknown",\n "truncated": false\n },\n "fingerprints": [],\n "graph_id": "jsrg_08c925d2bf4ef56d770e0e67901d5bdfb610744cf001a50d36c9bb6dcb195508",\n "limitations": [\n "Semantic relations are unavailable in this minimal example."\n ],\n "nodes": [\n {\n "application_node_ids": [\n "jag_node_3c82da5492d90eb5b0bee41c1a994d88b7ba98c0b4955270d70e57a76e224c2e"\n ],\n "evidence": {\n "artifact": {\n "artifact_id": "art_c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64",\n "available": true,\n "sha256": "c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64"\n },\n "authority": "artifact-bytes",\n "confidence": "exact",\n "coverage": {\n "limits": [],\n "omitted_count": 0,\n "status": "complete",\n "truncated": false\n },\n "evidence_ids": [],\n "extractor": {\n "executable_sha256": null,\n "name": "rea-javascript-application",\n "operation": "inventory-relevant-file",\n "version": "1"\n },\n "limitations": [],\n "location": {\n "available": true,\n "value": {\n "kind": "artifact-path",\n "path": "renderer.js"\n }\n },\n "state": "observed"\n },\n "function_node_id": null,\n "identifier_strategy": {\n "stability": "artifact-version",\n "strategy": "semantic-content-sha256"\n },\n "identity": {\n "artifact_sha256": "1111111111111111111111111111111111111111111111111111111111111111",\n "module_path": "renderer.js",\n "role_key": "example-module",\n "source_range": null\n },\n "kind": "module",\n "label": "renderer.js",\n "node_id": "jsrg_node_9476602f1f74433a2bd3dadb040a25734d203b8f831b31a8d96f7efdfc5cd66a",\n "properties": {}\n }\n ],\n "relations": [],\n "root_artifact_sha256": "1111111111111111111111111111111111111111111111111111111111111111",\n "root_node_ids": [\n "jsrg_node_9476602f1f74433a2bd3dadb040a25734d203b8f831b31a8d96f7efdfc5cd66a"\n ],\n "schema": "JavaScriptSemanticRelationGraph",\n "unknowns": []\n },\n "statistics": {\n "findings": 0,\n "invalid_utf8_files": 0,\n "modules": 0,\n "nested_asar_containers": 0,\n "parse_failures": 0,\n "parsed_javascript_files": 1,\n "relevant_files": 1,\n "text_bytes_read": 29,\n "truncated_scopes": 0,\n "visited_ast_nodes": 1\n },\n "summary": {\n "browser_windows": 0,\n "context_bridge_apis": 0,\n "explicit_web_preferences": 0,\n "exposed_api_members": 0,\n "ipc": {\n "ambiguous_renderer_transmissions": 0,\n "dynamic_channel_operations": 0,\n "literal_channels": 0,\n "main_handlers": 0,\n "operations": 0,\n "paired_renderer_transmissions": 0,\n "renderer_listeners": 0,\n "renderer_transmissions": 0,\n "unpaired_literal_renderer_transmissions": 0\n },\n "native_addon_bindings": 0,\n "preload_entrypoints": 0,\n "resolved_native_addon_bindings": 0,\n "resolved_utility_entrypoints": 0,\n "sender_validation_observations": 0,\n "utility_processes": 0\n }\n },\n "operation": "analyze_javascript_application",\n "parameters": {},\n "predicate_type": "rea.javascript-application-analysis",\n "provider": {\n "id": "rea-javascript-application",\n "name": "REA JavaScript application analyzer",\n "version": "1"\n },\n "raw_result": null,\n "subject": {\n "architecture": null,\n "digest": {\n "sha256": "1111111111111111111111111111111111111111111111111111111111111111"\n },\n "format": "directory",\n "local_path": "/Applications/Example.app/Contents/Resources/app",\n "name": "app"\n }\n },\n "reference": {\n "authority": "historical-reference",\n "entries": [\n {\n "classifications": [\n "source"\n ],\n "kind": "directory",\n "limitations": [],\n "path": "src",\n "tree_state": "enumerated"\n },\n {\n "classifications": [\n "source"\n ],\n "content_state": "hashed",\n "kind": "file",\n "language": "TypeScript",\n "limitations": [],\n "path": "src/main.ts",\n "sha256": "2222222222222222222222222222222222222222222222222222222222222222",\n "size": 128\n }\n ],\n "exclusions": [],\n "inventory_state": "complete",\n "languages": [\n "TypeScript"\n ],\n "limitations": [],\n "manifests": [],\n "parse_failures": [],\n "provenance": {\n "caller": "contract-example",\n "importer": "rea",\n "importer_version": "1"\n },\n "relationships": [],\n "root_alias": "$REFERENCE_ROOT",\n "root_sha256": "683969414c3e674a368392213c78021322fb39609b0c57f346b22da6464b2110",\n "schema": "HistoricalSourceGraph",\n "vcs": {\n "dirty": null,\n "head": null,\n "kind": "none"\n }\n }\n }\n ],\n "properties": {\n "application": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "description": "Value for analysis profile.",\n "properties": {\n "digest": {\n "description": "Value for digest.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "description": "Value for version.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "description": "Value for authority.",\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "description": "Value for confidence.",\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "description": "Value for architecture.",\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "description": "Value for isolation.",\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "description": "Value for platform.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for environment."\n },\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "description": "Value for evidence links.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "description": "Value for locations.",\n "items": {\n "oneOf": [\n {\n "properties": {\n "address": {\n "description": "Value for address.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "artifact-path",\n "description": "Value for kind.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "file-offset",\n "description": "Value for kind.",\n "type": "string"\n },\n "offset": {\n "description": "Value for offset.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0",\n "description": "Value for normalized result."\n },\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "description": "Value for predicate type.",\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for version."\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for raw result."\n },\n "subject": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "digest": {\n "description": "Value for digest.",\n "properties": {\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "description": "Declared input artifact format.",\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "description": "Local filesystem path for local.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for subject."\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "kind": {\n "const": "retained-evidence",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "evidence_id"\n ],\n "type": "object"\n }\n ],\n "description": "Value for application."\n },\n "reference": {\n "additionalProperties": false,\n "description": "Value for reference.",\n "properties": {\n "authority": {\n "const": "historical-reference",\n "description": "Value for authority.",\n "type": "string"\n },\n "entries": {\n "description": "Value for entries.",\n "items": {\n "anyOf": [\n {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "classifications": {\n "description": "Value for classifications.",\n "items": {\n "enum": [\n "source",\n "test",\n "config",\n "manifest",\n "generated",\n "vendor",\n "documentation",\n "unknown"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "content_state": {\n "const": "hashed",\n "description": "Value for content state.",\n "type": "string"\n },\n "kind": {\n "const": "file",\n "description": "Value for kind.",\n "type": "string"\n },\n "language": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for language."\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "size": {\n "description": "Value for size.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "path",\n "classifications",\n "limitations",\n "kind",\n "language",\n "sha256",\n "size",\n "content_state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "classifications": {\n "description": "Value for classifications.",\n "items": {\n "enum": [\n "source",\n "test",\n "config",\n "manifest",\n "generated",\n "vendor",\n "documentation",\n "unknown"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "content_state": {\n "description": "Value for content state.",\n "enum": [\n "redacted-secret",\n "excluded",\n "unreadable",\n "unknown"\n ],\n "type": "string"\n },\n "kind": {\n "const": "file",\n "description": "Value for kind.",\n "type": "string"\n },\n "language": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for language."\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "sha256": {\n "description": "Value for sha256.",\n "type": "null"\n },\n "size": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for size."\n }\n },\n "required": [\n "path",\n "classifications",\n "limitations",\n "kind",\n "language",\n "sha256",\n "size",\n "content_state"\n ],\n "type": "object"\n }\n ]\n },\n {\n "additionalProperties": false,\n "properties": {\n "classifications": {\n "description": "Value for classifications.",\n "items": {\n "enum": [\n "source",\n "test",\n "config",\n "manifest",\n "generated",\n "vendor",\n "documentation",\n "unknown"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "kind": {\n "const": "directory",\n "description": "Value for kind.",\n "type": "string"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "tree_state": {\n "description": "Value for tree state.",\n "enum": [\n "enumerated",\n "partial",\n "excluded",\n "unreadable",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "path",\n "classifications",\n "limitations",\n "kind",\n "tree_state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "classifications": {\n "description": "Value for classifications.",\n "items": {\n "enum": [\n "source",\n "test",\n "config",\n "manifest",\n "generated",\n "vendor",\n "documentation",\n "unknown"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "kind": {\n "const": "symlink",\n "description": "Value for kind.",\n "type": "string"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "target": {\n "description": "Value for target.",\n "minLength": 1,\n "type": "string"\n },\n "target_state": {\n "description": "Value for target state.",\n "enum": [\n "internal",\n "external",\n "missing",\n "unreadable",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "path",\n "classifications",\n "limitations",\n "kind",\n "target",\n "target_state"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "exclusions": {\n "description": "Value for exclusions.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "description": "Value for reason.",\n "enum": [\n "configured-secret",\n "symlink-escape",\n "size-limit",\n "inventory-limit",\n "unreadable",\n "caller-excluded"\n ],\n "type": "string"\n }\n },\n "required": [\n "path",\n "reason"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "inventory_state": {\n "description": "Value for inventory state.",\n "enum": [\n "complete",\n "partial",\n "unknown"\n ],\n "type": "string"\n },\n "languages": {\n "description": "Value for languages.",\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "manifests": {\n "description": "Value for manifests.",\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "parse_failures": {\n "description": "Value for parse failures.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "parser": {\n "description": "Value for parser.",\n "minLength": 1,\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "path",\n "parser",\n "reason"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "provenance": {\n "additionalProperties": false,\n "description": "Value for provenance.",\n "properties": {\n "caller": {\n "description": "Value for caller.",\n "minLength": 1,\n "pattern": "^[\\\\w .:@/+-]+$",\n "type": "string"\n },\n "importer": {\n "description": "Value for importer.",\n "minLength": 1,\n "type": "string"\n },\n "importer_version": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for importer version."\n }\n },\n "required": [\n "importer",\n "importer_version",\n "caller"\n ],\n "type": "object"\n },\n "relationships": {\n "description": "Value for relationships.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "from_path": {\n "description": "Local filesystem path for from.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "description": "Value for kind.",\n "enum": [\n "imports",\n "requires",\n "references",\n "declares-module"\n ],\n "type": "string"\n },\n "parse_state": {\n "description": "Value for parse state.",\n "enum": [\n "parsed",\n "partial",\n "unknown"\n ],\n "type": "string"\n },\n "resolution": {\n "description": "Value for resolution.",\n "enum": [\n "internal",\n "external",\n "unresolved",\n "unknown"\n ],\n "type": "string"\n },\n "to": {\n "description": "Value for to.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "from_path",\n "to",\n "kind",\n "resolution",\n "parse_state"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "root_alias": {\n "const": "$REFERENCE_ROOT",\n "description": "Value for root alias.",\n "type": "string"\n },\n "root_sha256": {\n "description": "Exact SHA-256 digest of root.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "schema": {\n "const": "HistoricalSourceGraph",\n "description": "Value for schema.",\n "type": "string"\n },\n "vcs": {\n "anyOf": [\n {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "dirty": {\n "anyOf": [\n {\n "type": "boolean"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for dirty."\n },\n "head": {\n "description": "Value for head.",\n "pattern": "^(?:[a-f0-9]{40}|[a-f0-9]{64})$",\n "type": "string"\n },\n "kind": {\n "const": "git",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "head",\n "dirty"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "dirty": {\n "description": "Value for dirty.",\n "type": "null"\n },\n "head": {\n "description": "Value for head.",\n "type": "null"\n },\n "kind": {\n "const": "none",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "head",\n "dirty"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "dirty": {\n "description": "Value for dirty.",\n "type": "null"\n },\n "head": {\n "description": "Value for head.",\n "type": "null"\n },\n "kind": {\n "const": "unknown",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "head",\n "dirty"\n ],\n "type": "object"\n }\n ]\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for vcs."\n }\n },\n "required": [\n "schema",\n "authority",\n "root_alias",\n "root_sha256",\n "inventory_state",\n "entries",\n "relationships",\n "parse_failures",\n "exclusions",\n "languages",\n "manifests",\n "vcs",\n "provenance",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "reference",\n "application"\n ],\n "type": "object"\n },\n "kind": "application",\n "name": "compare_source_to_bundle",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "application": {\n "additionalProperties": false,\n "properties": {\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "graph_id": {\n "pattern": "^jag_[a-f0-9]{64}$",\n "type": "string"\n },\n "root_artifact_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "evidence_id",\n "graph_id",\n "root_artifact_sha256"\n ],\n "type": "object"\n },\n "comparison_id": {\n "pattern": "^stbc_[a-f0-9]{64}$",\n "type": "string"\n },\n "coverage": {\n "additionalProperties": false,\n "properties": {\n "application_graph_status": {\n "enum": [\n "complete",\n "partial",\n "unknown",\n "unavailable"\n ],\n "type": "string"\n },\n "candidate_evaluations": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "reference_inventory_state": {\n "enum": [\n "complete",\n "partial",\n "unknown"\n ],\n "type": "string"\n },\n "retained_application_nodes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "retained_source_files": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "status": {\n "enum": [\n "complete-within-inputs",\n "partial"\n ],\n "type": "string"\n }\n },\n "required": [\n "status",\n "reference_inventory_state",\n "application_graph_status",\n "retained_source_files",\n "retained_application_nodes",\n "candidate_evaluations"\n ],\n "type": "object"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "maxItems": 1,\n "minItems": 1,\n "type": "array"\n },\n "items": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "candidates": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "confidence": {\n "enum": [\n "exact",\n "high",\n "medium",\n "low"\n ],\n "type": "string"\n },\n "current_node_id": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "current_node_kind": {\n "enum": [\n "package",\n "installer",\n "artifact",\n "asar-entry",\n "electron-main",\n "electron-preload",\n "electron-renderer",\n "electron-utility",\n "javascript-asset",\n "javascript-chunk",\n "javascript-module",\n "source-map",\n "source-module",\n "browser-window",\n "frame",\n "target",\n "context-bridge-api",\n "ipc-channel",\n "ipc-handler",\n "worker",\n "service-worker",\n "endpoint",\n "storage",\n "native-addon",\n "native-export",\n "managed-assembly",\n "managed-module",\n "managed-type",\n "managed-method",\n "managed-field",\n "managed-pinvoke-import",\n "managed-native-implementation",\n "runtime-script-instance",\n "unknown"\n ],\n "type": "string"\n },\n "score": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "signals": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "current_values": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "kind": {\n "enum": [\n "exact-source-digest",\n "source-map-original-path",\n "current-path-exact",\n "current-path-suffix",\n "basename-match",\n "language-extension"\n ],\n "type": "string"\n },\n "source_value": {\n "minLength": 1,\n "type": "string"\n },\n "weight": {\n "maximum": 100,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "weight",\n "source_value",\n "current_values"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "current_node_id",\n "current_node_kind",\n "score",\n "confidence",\n "signals"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "confidence": {\n "enum": [\n "exact",\n "high",\n "medium",\n "unknown"\n ],\n "type": "string"\n },\n "current_node_ids": {\n "items": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "mapping_id": {\n "pattern": "^stbc_item_[a-f0-9]{64}$",\n "type": "string"\n },\n "source_language": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "source_path": {\n "minLength": 1,\n "type": "string"\n },\n "source_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "enum": [\n "unchanged",\n "modified",\n "removed",\n "split",\n "merged",\n "duplicated",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "mapping_id",\n "source_path",\n "source_sha256",\n "source_language",\n "status",\n "confidence",\n "current_node_ids",\n "candidates",\n "limitations"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "reference": {\n "additionalProperties": false,\n "properties": {\n "inventory_state": {\n "enum": [\n "complete",\n "partial",\n "unknown"\n ],\n "type": "string"\n },\n "root_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "root_sha256",\n "inventory_state"\n ],\n "type": "object"\n },\n "scoring": {\n "additionalProperties": false,\n "properties": {\n "algorithm": {\n "const": "rea-source-to-bundle-signals",\n "type": "string"\n },\n "minimum_candidate_score": {\n "const": 20,\n "type": "number"\n },\n "weights": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "signal": {\n "enum": [\n "exact-source-digest",\n "source-map-original-path",\n "current-path-exact",\n "current-path-suffix",\n "basename-match",\n "language-extension"\n ],\n "type": "string"\n },\n "weight": {\n "maximum": 100,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "signal",\n "weight"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "algorithm",\n "minimum_candidate_score",\n "weights"\n ],\n "type": "object"\n },\n "summary": {\n "additionalProperties": false,\n "properties": {\n "duplicated": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "merged": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "modified": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "removed": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "split": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "unchanged": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "unknown": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "unchanged",\n "modified",\n "removed",\n "split",\n "merged",\n "duplicated",\n "unknown"\n ],\n "type": "object"\n },\n "unmapped_current_node_ids": {\n "items": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n }\n },\n "required": [\n "comparison_id",\n "reference",\n "application",\n "scoring",\n "summary",\n "items",\n "unmapped_current_node_ids",\n "coverage",\n "evidence_links",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Compare Source To Bundle"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Compare static return shapes for one exact module/export selector on each authenticated JavaScript Application Graph supplied as inline Evidence or exact same-session retained references. Variants pair only by reciprocal unique literal discriminants; dynamic values, incomplete properties, and ambiguous variants remain unknown. Reports JSON Pointer changes without executing JavaScript; runtime behavior requires a separate agent-run probe.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "left": {\n "authority": "shipped-artifact",\n "confidence": "derived",\n "environment": null,\n "evidence_id": "ev_a4ae2c7b5c501fb6dff695b168f35a6dd157fa957410910684f3a4ce4c8b5d54",\n "evidence_links": [],\n "limitations": [],\n "locations": [],\n "normalized_result": {\n "format": "directory",\n "graph": {\n "coverage": {\n "limits": [],\n "omitted_count": 0,\n "status": "complete",\n "truncated": false\n },\n "edges": [],\n "graph_id": "jag_ab15669664efc0a86bb49c9c60241913cce6980dc2293fbeef6d9c862ca01d9d",\n "limitations": [],\n "nodes": [\n {\n "identity": {\n "sha256": "c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64",\n "stability": "global-exact",\n "strategy": "content-digest"\n },\n "kind": "javascript-asset",\n "node_id": "jag_node_3c82da5492d90eb5b0bee41c1a994d88b7ba98c0b4955270d70e57a76e224c2e",\n "observations": [\n {\n "evidence": {\n "artifact": {\n "artifact_id": "art_c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64",\n "available": true,\n "sha256": "c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64"\n },\n "authority": "artifact-bytes",\n "confidence": "exact",\n "coverage": {\n "limits": [],\n "omitted_count": 0,\n "status": "complete",\n "truncated": false\n },\n "evidence_ids": [],\n "extractor": {\n "executable_sha256": null,\n "name": "rea-javascript-application",\n "operation": "inventory-relevant-file",\n "version": "1"\n },\n "limitations": [],\n "location": {\n "available": true,\n "value": {\n "kind": "artifact-path",\n "path": "renderer.js"\n }\n },\n "state": "observed"\n },\n "identifier_strategy": {\n "stability": "observation-exact",\n "strategy": "semantic-content-sha256"\n },\n "label": "renderer.js",\n "observation_id": "jag_observation_20b4d076ce370db14ae2b477915624c62e0c4a0c9e56803a2c5cb4fa60c16230",\n "properties": {\n "bytes": 29,\n "path": "renderer.js"\n }\n }\n ]\n }\n ],\n "root_node_ids": [\n "jag_node_3c82da5492d90eb5b0bee41c1a994d88b7ba98c0b4955270d70e57a76e224c2e"\n ],\n "schema": "JavaScriptApplicationGraph"\n },\n "input_path": "/Applications/Example.app/Contents/Resources/app",\n "inventory_graph_sha256": "3333333333333333333333333333333333333333333333333333333333333333",\n "inventory_manifest_id": "agm_2222222222222222222222222222222222222222222222222222222222222222",\n "limitations": [],\n "root_artifact_sha256": "1111111111111111111111111111111111111111111111111111111111111111",\n "semantic_graph": {\n "application_graph_id": "jag_ab15669664efc0a86bb49c9c60241913cce6980dc2293fbeef6d9c862ca01d9d",\n "coverage": {\n "families": [\n {\n "family": "boundary",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "call-flow",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "child-process",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "closure",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "configuration",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "data-flow",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "event",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "object-flow",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "promise-ownership",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "request",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "resource-lifecycle",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "timer",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n }\n ],\n "limits": [],\n "omitted_nodes": 0,\n "omitted_relations": 0,\n "status": "unknown",\n "truncated": false\n },\n "fingerprints": [],\n "graph_id": "jsrg_08c925d2bf4ef56d770e0e67901d5bdfb610744cf001a50d36c9bb6dcb195508",\n "limitations": [\n "Semantic relations are unavailable in this minimal example."\n ],\n "nodes": [\n {\n "application_node_ids": [\n "jag_node_3c82da5492d90eb5b0bee41c1a994d88b7ba98c0b4955270d70e57a76e224c2e"\n ],\n "evidence": {\n "artifact": {\n "artifact_id": "art_c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64",\n "available": true,\n "sha256": "c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64"\n },\n "authority": "artifact-bytes",\n "confidence": "exact",\n "coverage": {\n "limits": [],\n "omitted_count": 0,\n "status": "complete",\n "truncated": false\n },\n "evidence_ids": [],\n "extractor": {\n "executable_sha256": null,\n "name": "rea-javascript-application",\n "operation": "inventory-relevant-file",\n "version": "1"\n },\n "limitations": [],\n "location": {\n "available": true,\n "value": {\n "kind": "artifact-path",\n "path": "renderer.js"\n }\n },\n "state": "observed"\n },\n "function_node_id": null,\n "identifier_strategy": {\n "stability": "artifact-version",\n "strategy": "semantic-content-sha256"\n },\n "identity": {\n "artifact_sha256": "1111111111111111111111111111111111111111111111111111111111111111",\n "module_path": "renderer.js",\n "role_key": "example-module",\n "source_range": null\n },\n "kind": "module",\n "label": "renderer.js",\n "node_id": "jsrg_node_9476602f1f74433a2bd3dadb040a25734d203b8f831b31a8d96f7efdfc5cd66a",\n "properties": {}\n }\n ],\n "relations": [],\n "root_artifact_sha256": "1111111111111111111111111111111111111111111111111111111111111111",\n "root_node_ids": [\n "jsrg_node_9476602f1f74433a2bd3dadb040a25734d203b8f831b31a8d96f7efdfc5cd66a"\n ],\n "schema": "JavaScriptSemanticRelationGraph",\n "unknowns": []\n },\n "statistics": {\n "findings": 0,\n "invalid_utf8_files": 0,\n "modules": 0,\n "nested_asar_containers": 0,\n "parse_failures": 0,\n "parsed_javascript_files": 1,\n "relevant_files": 1,\n "text_bytes_read": 29,\n "truncated_scopes": 0,\n "visited_ast_nodes": 1\n },\n "summary": {\n "browser_windows": 0,\n "context_bridge_apis": 0,\n "explicit_web_preferences": 0,\n "exposed_api_members": 0,\n "ipc": {\n "ambiguous_renderer_transmissions": 0,\n "dynamic_channel_operations": 0,\n "literal_channels": 0,\n "main_handlers": 0,\n "operations": 0,\n "paired_renderer_transmissions": 0,\n "renderer_listeners": 0,\n "renderer_transmissions": 0,\n "unpaired_literal_renderer_transmissions": 0\n },\n "native_addon_bindings": 0,\n "preload_entrypoints": 0,\n "resolved_native_addon_bindings": 0,\n "resolved_utility_entrypoints": 0,\n "sender_validation_observations": 0,\n "utility_processes": 0\n }\n },\n "operation": "analyze_javascript_application",\n "parameters": {},\n "predicate_type": "rea.javascript-application-analysis",\n "provider": {\n "id": "rea-javascript-application",\n "name": "REA JavaScript application analyzer",\n "version": "1"\n },\n "raw_result": null,\n "subject": {\n "architecture": null,\n "digest": {\n "sha256": "1111111111111111111111111111111111111111111111111111111111111111"\n },\n "format": "directory",\n "local_path": "/Applications/Example.app/Contents/Resources/app",\n "name": "app"\n }\n },\n "left_export_name": "default",\n "left_module_path": "parser.mjs",\n "right": {\n "authority": "analyst-inference",\n "confidence": "inferred",\n "environment": null,\n "evidence_id": "ev_c2754cf75e286b839ed825f247062067a6472acb1e7b6ce0f9aaceec6448d6d7",\n "evidence_links": [\n "ev_a42606ee799a093832ad3d6cfd0edd50dc9b99f78cc6d5d9130b734d48a56b4e",\n "ev_a4ae2c7b5c501fb6dff695b168f35a6dd157fa957410910684f3a4ce4c8b5d54"\n ],\n "limitations": [\n "Artifact identity is unavailable for this observation.",\n "A static module resident in an observed bundle is not reported as executed.",\n "Caller-declared file and URL mappings are inference inputs and do not expand CDP origin or filesystem-root authority.",\n "Digest equality establishes byte identity but not code reachability, module initialization, or feature execution.",\n "Not-observed means absent from the bounded captures in scope, never globally unloaded.",\n "Only caller-supplied, semantically verified Evidence records were reconciled.",\n "Source-map authority remains separate from passive runtime authority."\n ],\n "locations": [],\n "normalized_result": {\n "coverage": {\n "omitted_graph_items": 0,\n "omitted_reconciliation_items": 0,\n "omitted_runtime_entities": 0,\n "omitted_static_load_states": 0,\n "status": "complete-within-inputs",\n "truncated": false\n },\n "evidence_links": [\n "ev_a42606ee799a093832ad3d6cfd0edd50dc9b99f78cc6d5d9130b734d48a56b4e",\n "ev_a4ae2c7b5c501fb6dff695b168f35a6dd157fa957410910684f3a4ce4c8b5d54"\n ],\n "graph": {\n "coverage": {\n "limits": [],\n "omitted_count": 0,\n "status": "complete",\n "truncated": false\n },\n "edges": [\n {\n "edge_id": "jag_edge_3799eb1c2b0f224013a0edba8911a8b9edabd5fa6da2f893a6cfa24a899c9463",\n "evidence": {\n "artifact": {\n "artifact_id": "art_c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64",\n "available": true,\n "sha256": "c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64"\n },\n "authority": "cross-layer-reconciliation",\n "confidence": "high",\n "coverage": {\n "limits": [],\n "omitted_count": 0,\n "status": "complete",\n "truncated": false\n },\n "evidence_ids": [\n "ev_a42606ee799a093832ad3d6cfd0edd50dc9b99f78cc6d5d9130b734d48a56b4e",\n "ev_a4ae2c7b5c501fb6dff695b168f35a6dd157fa957410910684f3a4ce4c8b5d54"\n ],\n "extractor": {\n "executable_sha256": null,\n "name": "rea-javascript-runtime-reconciliation",\n "operation": "reconcile_javascript_runtime",\n "version": "1"\n },\n "limitations": [\n "Equal content digests establish byte identity, not execution causality.",\n "Passive script parsing or target presence does not prove feature execution."\n ],\n "location": {\n "available": true,\n "value": {\n "capture_sha256": "a4dd260f01b45e3df92482755baed7a1922b4af2226edc7f896bdbc4d2bbbd9c",\n "frame_key": null,\n "kind": "runtime",\n "script_key": "electron_script_4444444444444444444444444444444444444444444444444444444444444444",\n "target_key": "example-target"\n }\n },\n "state": "inferred"\n },\n "identifier_strategy": {\n "stability": "relationship-exact",\n "strategy": "semantic-content-sha256"\n },\n "properties": {\n "basis": "content-and-location",\n "reconciliation_id": "jrr_item_ea9d751c4bf3a2234af56b80d5ac8a1f953da9a9477cd46586a62934ff4a5fb2",\n "static_layer_id": "jrl_96fcfc590e7ca88f94b602638421674d8b13ccc7d25efff15a15b03c33b34753"\n },\n "relation": "observed_as",\n "source_node_id": "jag_node_3c82da5492d90eb5b0bee41c1a994d88b7ba98c0b4955270d70e57a76e224c2e",\n "target_node_id": "jag_node_af8ea5d1909955f39da1d844b2cad8f2f68c34b7d575ded6d04c00fa4095a88e"\n },\n {\n "edge_id": "jag_edge_f3c06b02c5ac77056b5d2a9f8de834ea0a9123b01dc369a011e3adc4a535338b",\n "evidence": {\n "artifact": {\n "available": false,\n "detail": "The relationship is runtime metadata, not standalone bytes.",\n "reason": "not-applicable"\n },\n "authority": "passive-cdp-runtime",\n "confidence": "exact",\n "coverage": {\n "limits": [],\n "omitted_count": 0,\n "status": "complete",\n "truncated": false\n },\n "evidence_ids": [\n "ev_a42606ee799a093832ad3d6cfd0edd50dc9b99f78cc6d5d9130b734d48a56b4e"\n ],\n "extractor": {\n "executable_sha256": null,\n "name": "rea-cdp-electron",\n "operation": "inspect_electron_page",\n "version": "1"\n },\n "limitations": [\n "The relationship was observed only within one bounded passive CDP capture."\n ],\n "location": {\n "available": true,\n "value": {\n "capture_sha256": "a4dd260f01b45e3df92482755baed7a1922b4af2226edc7f896bdbc4d2bbbd9c",\n "frame_key": null,\n "kind": "runtime",\n "script_key": "electron_script_4444444444444444444444444444444444444444444444444444444444444444",\n "target_key": "example-target"\n }\n },\n "state": "observed"\n },\n "identifier_strategy": {\n "stability": "relationship-exact",\n "strategy": "semantic-content-sha256"\n },\n "properties": {\n "basis": "passive-cdp-observation"\n },\n "relation": "loads",\n "source_node_id": "jag_node_f360c35c86d4893fcf83ef0fdef92cebd688fba883aa39698a1c12dd5a237265",\n "target_node_id": "jag_node_af8ea5d1909955f39da1d844b2cad8f2f68c34b7d575ded6d04c00fa4095a88e"\n }\n ],\n "graph_id": "jag_0536a9584eb91a16f78f71e8bef4cffc3105df18098fe65a7b114add520203ca",\n "limitations": [\n "Cross-layer observed_as edges are inferences; digest equality proves byte identity only.",\n "Runtime presence is bounded to passive capture windows and does not prove feature execution.",\n "Source-map relationships retain their original static authority and are not promoted into runtime matches."\n ],\n "nodes": [\n {\n "identity": {\n "sha256": "c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64",\n "stability": "global-exact",\n "strategy": "content-digest"\n },\n "kind": "javascript-asset",\n "node_id": "jag_node_3c82da5492d90eb5b0bee41c1a994d88b7ba98c0b4955270d70e57a76e224c2e",\n "observations": [\n {\n "evidence": {\n "artifact": {\n "artifact_id": "art_c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64",\n "available": true,\n "sha256": "c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64"\n },\n "authority": "artifact-bytes",\n "confidence": "exact",\n "coverage": {\n "limits": [],\n "omitted_count": 0,\n "status": "complete",\n "truncated": false\n },\n "evidence_ids": [],\n "extractor": {\n "executable_sha256": null,\n "name": "rea-javascript-application",\n "operation": "inventory-relevant-file",\n "version": "1"\n },\n "limitations": [],\n "location": {\n "available": true,\n "value": {\n "kind": "artifact-path",\n "path": "renderer.js"\n }\n },\n "state": "observed"\n },\n "identifier_strategy": {\n "stability": "observation-exact",\n "strategy": "semantic-content-sha256"\n },\n "label": "renderer.js",\n "observation_id": "jag_observation_20b4d076ce370db14ae2b477915624c62e0c4a0c9e56803a2c5cb4fa60c16230",\n "properties": {\n "bytes": 29,\n "path": "renderer.js"\n }\n }\n ]\n },\n {\n "identity": {\n "capture_sha256": "a4dd260f01b45e3df92482755baed7a1922b4af2226edc7f896bdbc4d2bbbd9c",\n "runtime_key": "electron_script_4444444444444444444444444444444444444444444444444444444444444444",\n "stability": "capture-only",\n "strategy": "runtime-instance"\n },\n "kind": "runtime-script-instance",\n "node_id": "jag_node_af8ea5d1909955f39da1d844b2cad8f2f68c34b7d575ded6d04c00fa4095a88e",\n "observations": [\n {\n "evidence": {\n "artifact": {\n "artifact_id": "art_c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64",\n "available": true,\n "sha256": "c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64"\n },\n "authority": "passive-cdp-runtime",\n "confidence": "exact",\n "coverage": {\n "limits": [],\n "omitted_count": 0,\n "status": "complete",\n "truncated": false\n },\n "evidence_ids": [\n "ev_a42606ee799a093832ad3d6cfd0edd50dc9b99f78cc6d5d9130b734d48a56b4e"\n ],\n "extractor": {\n "executable_sha256": null,\n "name": "rea-cdp-electron",\n "operation": "inspect_electron_page",\n "version": "1"\n },\n "limitations": [\n "The entity was observed only within one bounded passive CDP capture."\n ],\n "location": {\n "available": true,\n "value": {\n "capture_sha256": "a4dd260f01b45e3df92482755baed7a1922b4af2226edc7f896bdbc4d2bbbd9c",\n "frame_key": null,\n "kind": "runtime",\n "script_key": "electron_script_4444444444444444444444444444444444444444444444444444444444444444",\n "target_key": "example-target"\n }\n },\n "state": "observed"\n },\n "identifier_strategy": {\n "stability": "observation-exact",\n "strategy": "semantic-content-sha256"\n },\n "label": "/Applications/Example.app/Contents/Resources/app/renderer.js",\n "observation_id": "jag_observation_9315403b875ea70c310909daf797780ab9045ff8f4803db38a9184e4f0704f11",\n "properties": {\n "cdp_hash": "example",\n "is_module": true,\n "language": "JavaScript",\n "length": 29,\n "location": "/Applications/Example.app/Contents/Resources/app/renderer.js",\n "source_sha256": "c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64"\n }\n }\n ]\n },\n {\n "identity": {\n "capture_sha256": "a4dd260f01b45e3df92482755baed7a1922b4af2226edc7f896bdbc4d2bbbd9c",\n "runtime_key": "example-target",\n "stability": "capture-only",\n "strategy": "runtime-instance"\n },\n "kind": "target",\n "node_id": "jag_node_f360c35c86d4893fcf83ef0fdef92cebd688fba883aa39698a1c12dd5a237265",\n "observations": [\n {\n "evidence": {\n "artifact": {\n "available": false,\n "detail": "This runtime entity has no standalone artifact bytes.",\n "reason": "not-applicable"\n },\n "authority": "passive-cdp-runtime",\n "confidence": "exact",\n "coverage": {\n "limits": [],\n "omitted_count": 0,\n "status": "complete",\n "truncated": false\n },\n "evidence_ids": [\n "ev_a42606ee799a093832ad3d6cfd0edd50dc9b99f78cc6d5d9130b734d48a56b4e"\n ],\n "extractor": {\n "executable_sha256": null,\n "name": "rea-cdp-electron",\n "operation": "inspect_electron_page",\n "version": "1"\n },\n "limitations": [\n "The entity was observed only within one bounded passive CDP capture."\n ],\n "location": {\n "available": true,\n "value": {\n "capture_sha256": "a4dd260f01b45e3df92482755baed7a1922b4af2226edc7f896bdbc4d2bbbd9c",\n "frame_key": null,\n "kind": "runtime",\n "script_key": null,\n "target_key": "example-target"\n }\n },\n "state": "observed"\n },\n "identifier_strategy": {\n "stability": "observation-exact",\n "strategy": "semantic-content-sha256"\n },\n "label": "Example",\n "observation_id": "jag_observation_844a03a29af96a0bcd4625e0377b67c439af68a462c5fa83009c7c27283c5dee",\n "properties": {\n "attached": false,\n "location": "/Applications/Example.app/Contents/Resources/app/index.html",\n "runtime_type": "page"\n }\n }\n ]\n }\n ],\n "root_node_ids": [\n "jag_node_3c82da5492d90eb5b0bee41c1a994d88b7ba98c0b4955270d70e57a76e224c2e",\n "jag_node_f360c35c86d4893fcf83ef0fdef92cebd688fba883aa39698a1c12dd5a237265"\n ],\n "schema": "JavaScriptApplicationGraph"\n },\n "limitations": [\n "A static module resident in an observed bundle is not reported as executed.",\n "Caller-declared file and URL mappings are inference inputs and do not expand CDP origin or filesystem-root authority.",\n "Digest equality establishes byte identity but not code reachability, module initialization, or feature execution.",\n "Not-observed means absent from the bounded captures in scope, never globally unloaded.",\n "Only caller-supplied, semantically verified Evidence records were reconciled.",\n "Source-map authority remains separate from passive runtime authority."\n ],\n "reconciliation_id": "jrr_ec50425a5a5a5cb85aa40f13f72dcba54a8ab16170d9421a0277fbdf0fa4c9eb",\n "reconciliations": [\n {\n "basis": "none",\n "candidate_static_count": 0,\n "candidate_static_nodes": [],\n "confidence": "unknown",\n "entity_kind": "target",\n "reason": "no-static-content-match",\n "reconciliation_id": "jrr_item_abd5635b06340f082ef46bff8802a361c7b30011085f1c9e7437b29b451c1e5e",\n "runtime_evidence_id": "ev_a42606ee799a093832ad3d6cfd0edd50dc9b99f78cc6d5d9130b734d48a56b4e",\n "runtime_node_id": "jag_node_f360c35c86d4893fcf83ef0fdef92cebd688fba883aa39698a1c12dd5a237265",\n "static_layer_id": null,\n "static_node_id": null,\n "status": "unmatched"\n },\n {\n "basis": "content-and-location",\n "candidate_static_count": 1,\n "candidate_static_nodes": [\n {\n "static_layer_id": "jrl_96fcfc590e7ca88f94b602638421674d8b13ccc7d25efff15a15b03c33b34753",\n "static_node_id": "jag_node_3c82da5492d90eb5b0bee41c1a994d88b7ba98c0b4955270d70e57a76e224c2e"\n }\n ],\n "confidence": "high",\n "entity_kind": "script",\n "reason": "content-and-location-match",\n "reconciliation_id": "jrr_item_ea9d751c4bf3a2234af56b80d5ac8a1f953da9a9477cd46586a62934ff4a5fb2",\n "runtime_evidence_id": "ev_a42606ee799a093832ad3d6cfd0edd50dc9b99f78cc6d5d9130b734d48a56b4e",\n "runtime_node_id": "jag_node_af8ea5d1909955f39da1d844b2cad8f2f68c34b7d575ded6d04c00fa4095a88e",\n "static_layer_id": "jrl_96fcfc590e7ca88f94b602638421674d8b13ccc7d25efff15a15b03c33b34753",\n "static_node_id": "jag_node_3c82da5492d90eb5b0bee41c1a994d88b7ba98c0b4955270d70e57a76e224c2e",\n "status": "matched"\n }\n ],\n "runtime_captures": [\n {\n "capture_sha256": "a4dd260f01b45e3df92482755baed7a1922b4af2226edc7f896bdbc4d2bbbd9c",\n "evidence_id": "ev_a42606ee799a093832ad3d6cfd0edd50dc9b99f78cc6d5d9130b734d48a56b4e",\n "frames": 0,\n "kind": "electron",\n "scripts": 1,\n "scripts_complete_within_scope": true,\n "target_key": "example-target",\n "target_location": "/Applications/Example.app/Contents/Resources/app/index.html",\n "target_node_id": "jag_node_f360c35c86d4893fcf83ef0fdef92cebd688fba883aa39698a1c12dd5a237265",\n "workers": 0\n }\n ],\n "source_map_authority": {\n "limitation": "Source-map declarations and original-source content retain separate static authority and are not used as primary runtime byte matches.",\n "runtime_script_declarations": 0,\n "static_layer_count": 1,\n "used_for_primary_matching": false\n },\n "static_layers": [\n {\n "evidence_id": "ev_a4ae2c7b5c501fb6dff695b168f35a6dd157fa957410910684f3a4ce4c8b5d54",\n "format": "directory",\n "graph_id": "jag_ab15669664efc0a86bb49c9c60241913cce6980dc2293fbeef6d9c862ca01d9d",\n "input_path": "/Applications/Example.app/Contents/Resources/app",\n "layer_id": "jrl_96fcfc590e7ca88f94b602638421674d8b13ccc7d25efff15a15b03c33b34753",\n "role": "application",\n "root_artifact_sha256": "1111111111111111111111111111111111111111111111111111111111111111",\n "runtime_mappings": []\n }\n ],\n "static_load_states": [\n {\n "kind": "javascript-asset",\n "reason": "runtime-script-correspondence",\n "runtime_node_ids": [\n "jag_node_af8ea5d1909955f39da1d844b2cad8f2f68c34b7d575ded6d04c00fa4095a88e"\n ],\n "static_layer_id": "jrl_96fcfc590e7ca88f94b602638421674d8b13ccc7d25efff15a15b03c33b34753",\n "static_node_id": "jag_node_3c82da5492d90eb5b0bee41c1a994d88b7ba98c0b4955270d70e57a76e224c2e",\n "status": "loaded"\n }\n ],\n "summary": {\n "ambiguous": 0,\n "matched": 1,\n "runtime_frames": 0,\n "runtime_scripts": 1,\n "runtime_targets": 1,\n "runtime_workers": 0,\n "static_loaded": 1,\n "static_not_observed": 0,\n "static_resident": 0,\n "static_unknown": 0,\n "unknown": 0,\n "unmatched": 1\n }\n },\n "operation": "reconcile_javascript_runtime",\n "parameters": {\n "runtime_evidence_ids": [\n "ev_a42606ee799a093832ad3d6cfd0edd50dc9b99f78cc6d5d9130b734d48a56b4e"\n ],\n "static_layers": [\n {\n "evidence_id": "ev_a4ae2c7b5c501fb6dff695b168f35a6dd157fa957410910684f3a4ce4c8b5d54",\n "role": "application",\n "runtime_mappings": []\n }\n ]\n },\n "predicate_type": "rea.javascript-runtime-reconciliation",\n "provider": {\n "id": "rea-javascript-runtime-reconciliation",\n "name": "REA JavaScript runtime reconciliation",\n "version": "1"\n },\n "raw_result": null,\n "subject": null\n },\n "right_export_name": "default",\n "right_module_path": "parser.mjs"\n },\n {\n "left": {\n "evidence_id": "ev_a4ae2c7b5c501fb6dff695b168f35a6dd157fa957410910684f3a4ce4c8b5d54",\n "kind": "retained-evidence"\n },\n "left_export_name": "default",\n "left_module_path": "parser.mjs",\n "right": {\n "evidence_id": "ev_c2754cf75e286b839ed825f247062067a6472acb1e7b6ce0f9aaceec6448d6d7",\n "kind": "retained-evidence"\n },\n "right_export_name": "default",\n "right_module_path": "parser.mjs"\n }\n ],\n "properties": {\n "left": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "description": "Value for analysis profile.",\n "properties": {\n "digest": {\n "description": "Value for digest.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "description": "Value for version.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "description": "Value for authority.",\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "description": "Value for confidence.",\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "description": "Value for architecture.",\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "description": "Value for isolation.",\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "description": "Value for platform.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for environment."\n },\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "description": "Value for evidence links.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "description": "Value for locations.",\n "items": {\n "oneOf": [\n {\n "properties": {\n "address": {\n "description": "Value for address.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "artifact-path",\n "description": "Value for kind.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "file-offset",\n "description": "Value for kind.",\n "type": "string"\n },\n "offset": {\n "description": "Value for offset.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0",\n "description": "Value for normalized result."\n },\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "description": "Value for predicate type.",\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for version."\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for raw result."\n },\n "subject": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "digest": {\n "description": "Value for digest.",\n "properties": {\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "description": "Declared input artifact format.",\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "description": "Local filesystem path for local.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for subject."\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "kind": {\n "const": "retained-evidence",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "evidence_id"\n ],\n "type": "object"\n }\n ],\n "description": "Left-hand input used for comparison or differential execution."\n },\n "left_export_name": {\n "description": "Value for left export name.",\n "minLength": 1,\n "type": "string"\n },\n "left_module_path": {\n "description": "Local filesystem path for left module.",\n "minLength": 1,\n "type": "string"\n },\n "right": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "description": "Value for analysis profile.",\n "properties": {\n "digest": {\n "description": "Value for digest.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "description": "Value for version.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "description": "Value for authority.",\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "description": "Value for confidence.",\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "description": "Value for architecture.",\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "description": "Value for isolation.",\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "description": "Value for platform.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for environment."\n },\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "description": "Value for evidence links.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "description": "Value for locations.",\n "items": {\n "oneOf": [\n {\n "properties": {\n "address": {\n "description": "Value for address.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "artifact-path",\n "description": "Value for kind.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "file-offset",\n "description": "Value for kind.",\n "type": "string"\n },\n "offset": {\n "description": "Value for offset.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0",\n "description": "Value for normalized result."\n },\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "description": "Value for predicate type.",\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for version."\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for raw result."\n },\n "subject": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "digest": {\n "description": "Value for digest.",\n "properties": {\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "description": "Declared input artifact format.",\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "description": "Local filesystem path for local.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for subject."\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "kind": {\n "const": "retained-evidence",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "evidence_id"\n ],\n "type": "object"\n }\n ],\n "description": "Right-hand input used for comparison or differential execution."\n },\n "right_export_name": {\n "description": "Value for right export name.",\n "minLength": 1,\n "type": "string"\n },\n "right_module_path": {\n "description": "Local filesystem path for right module.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "left_module_path",\n "left_export_name",\n "right_module_path",\n "right_export_name",\n "left",\n "right"\n ],\n "type": "object"\n },\n "kind": "application",\n "name": "compare_javascript_export_shapes",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "changes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "change_id": {\n "pattern": "^jesc_change_[a-f0-9]{64}$",\n "type": "string"\n },\n "discriminant": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "path": {\n "type": "string"\n },\n "value": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "path",\n "value"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "maxItems": 2,\n "minItems": 2,\n "type": "array"\n },\n "left": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "availability": {\n "const": "absent",\n "type": "string"\n }\n },\n "required": [\n "availability"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "availability": {\n "const": "literal",\n "type": "string"\n },\n "value": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "availability",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "availability": {\n "const": "union",\n "type": "string"\n },\n "values": {\n "items": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n }\n ]\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "availability",\n "values"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "availability": {\n "const": "unknown",\n "type": "string"\n },\n "reason": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "availability",\n "reason"\n ],\n "type": "object"\n }\n ]\n },\n "left_source_range": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "line",\n "column"\n ],\n "type": "object"\n },\n "start": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "line",\n "column"\n ],\n "type": "object"\n }\n },\n "required": [\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "path": {\n "type": "string"\n },\n "right": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "availability": {\n "const": "absent",\n "type": "string"\n }\n },\n "required": [\n "availability"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "availability": {\n "const": "literal",\n "type": "string"\n },\n "value": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "availability",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "availability": {\n "const": "union",\n "type": "string"\n },\n "values": {\n "items": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n }\n ]\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "availability",\n "values"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "availability": {\n "const": "unknown",\n "type": "string"\n },\n "reason": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "availability",\n "reason"\n ],\n "type": "object"\n }\n ]\n },\n "right_source_range": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "line",\n "column"\n ],\n "type": "object"\n },\n "start": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "line",\n "column"\n ],\n "type": "object"\n }\n },\n "required": [\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "enum": [\n "added",\n "removed",\n "changed",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "change_id",\n "status",\n "path",\n "discriminant",\n "left",\n "right",\n "left_source_range",\n "right_source_range",\n "evidence_links",\n "limitations"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "comparison_id": {\n "pattern": "^jesc_[a-f0-9]{64}$",\n "type": "string"\n },\n "coverage": {\n "additionalProperties": false,\n "properties": {\n "left_graph_status": {\n "enum": [\n "complete",\n "partial",\n "unknown",\n "unavailable"\n ],\n "type": "string"\n },\n "left_omitted_fields": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "left_omitted_property_coverage": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "left_source_omitted_variants": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "omitted_candidates": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "omitted_changes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "omitted_left_variants": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "omitted_right_variants": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "paired_variants": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "right_graph_status": {\n "enum": [\n "complete",\n "partial",\n "unknown",\n "unavailable"\n ],\n "type": "string"\n },\n "right_omitted_fields": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "right_omitted_property_coverage": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "right_source_omitted_variants": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "enum": [\n "complete-within-inputs",\n "partial",\n "truncated"\n ],\n "type": "string"\n },\n "unpaired_left_variants": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "unpaired_right_variants": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "status",\n "left_graph_status",\n "right_graph_status",\n "paired_variants",\n "unpaired_left_variants",\n "unpaired_right_variants",\n "omitted_left_variants",\n "omitted_right_variants",\n "left_source_omitted_variants",\n "right_source_omitted_variants",\n "left_omitted_fields",\n "right_omitted_fields",\n "left_omitted_property_coverage",\n "right_omitted_property_coverage",\n "omitted_candidates",\n "omitted_changes"\n ],\n "type": "object"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "maxItems": 2,\n "minItems": 2,\n "type": "array"\n },\n "left": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "candidates": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "export_name": {\n "minLength": 1,\n "type": "string"\n },\n "matches_requested_export": {\n "type": "boolean"\n },\n "matches_requested_module": {\n "type": "boolean"\n },\n "module_path": {\n "minLength": 1,\n "type": "string"\n },\n "node_id": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "node_id",\n "module_path",\n "export_name",\n "matches_requested_module",\n "matches_requested_export"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "graph_id": {\n "pattern": "^jag_[a-f0-9]{64}$",\n "type": "string"\n },\n "omitted_candidates": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "requested_export_name": {\n "minLength": 1,\n "type": "string"\n },\n "requested_module_path": {\n "minLength": 1,\n "type": "string"\n },\n "selected_node_id": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "status": {\n "const": "selected",\n "type": "string"\n }\n },\n "required": [\n "evidence_id",\n "graph_id",\n "requested_module_path",\n "requested_export_name",\n "candidates",\n "omitted_candidates",\n "status",\n "selected_node_id"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "candidates": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "export_name": {\n "minLength": 1,\n "type": "string"\n },\n "matches_requested_export": {\n "type": "boolean"\n },\n "matches_requested_module": {\n "type": "boolean"\n },\n "module_path": {\n "minLength": 1,\n "type": "string"\n },\n "node_id": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "node_id",\n "module_path",\n "export_name",\n "matches_requested_module",\n "matches_requested_export"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "graph_id": {\n "pattern": "^jag_[a-f0-9]{64}$",\n "type": "string"\n },\n "omitted_candidates": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "requested_export_name": {\n "minLength": 1,\n "type": "string"\n },\n "requested_module_path": {\n "minLength": 1,\n "type": "string"\n },\n "selected_node_id": {\n "type": "null"\n },\n "status": {\n "enum": [\n "missing",\n "ambiguous"\n ],\n "type": "string"\n }\n },\n "required": [\n "evidence_id",\n "graph_id",\n "requested_module_path",\n "requested_export_name",\n "candidates",\n "omitted_candidates",\n "status",\n "selected_node_id"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "candidates": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "export_name": {\n "minLength": 1,\n "type": "string"\n },\n "matches_requested_export": {\n "type": "boolean"\n },\n "matches_requested_module": {\n "type": "boolean"\n },\n "module_path": {\n "minLength": 1,\n "type": "string"\n },\n "node_id": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "node_id",\n "module_path",\n "export_name",\n "matches_requested_module",\n "matches_requested_export"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "graph_id": {\n "pattern": "^jag_[a-f0-9]{64}$",\n "type": "string"\n },\n "omitted_candidates": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "requested_export_name": {\n "minLength": 1,\n "type": "string"\n },\n "requested_module_path": {\n "minLength": 1,\n "type": "string"\n },\n "selected_node_id": {\n "anyOf": [\n {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "unavailable",\n "type": "string"\n }\n },\n "required": [\n "evidence_id",\n "graph_id",\n "requested_module_path",\n "requested_export_name",\n "candidates",\n "omitted_candidates",\n "status",\n "selected_node_id"\n ],\n "type": "object"\n }\n ]\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "right": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "candidates": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "export_name": {\n "minLength": 1,\n "type": "string"\n },\n "matches_requested_export": {\n "type": "boolean"\n },\n "matches_requested_module": {\n "type": "boolean"\n },\n "module_path": {\n "minLength": 1,\n "type": "string"\n },\n "node_id": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "node_id",\n "module_path",\n "export_name",\n "matches_requested_module",\n "matches_requested_export"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "graph_id": {\n "pattern": "^jag_[a-f0-9]{64}$",\n "type": "string"\n },\n "omitted_candidates": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "requested_export_name": {\n "minLength": 1,\n "type": "string"\n },\n "requested_module_path": {\n "minLength": 1,\n "type": "string"\n },\n "selected_node_id": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "status": {\n "const": "selected",\n "type": "string"\n }\n },\n "required": [\n "evidence_id",\n "graph_id",\n "requested_module_path",\n "requested_export_name",\n "candidates",\n "omitted_candidates",\n "status",\n "selected_node_id"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "candidates": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "export_name": {\n "minLength": 1,\n "type": "string"\n },\n "matches_requested_export": {\n "type": "boolean"\n },\n "matches_requested_module": {\n "type": "boolean"\n },\n "module_path": {\n "minLength": 1,\n "type": "string"\n },\n "node_id": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "node_id",\n "module_path",\n "export_name",\n "matches_requested_module",\n "matches_requested_export"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "graph_id": {\n "pattern": "^jag_[a-f0-9]{64}$",\n "type": "string"\n },\n "omitted_candidates": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "requested_export_name": {\n "minLength": 1,\n "type": "string"\n },\n "requested_module_path": {\n "minLength": 1,\n "type": "string"\n },\n "selected_node_id": {\n "type": "null"\n },\n "status": {\n "enum": [\n "missing",\n "ambiguous"\n ],\n "type": "string"\n }\n },\n "required": [\n "evidence_id",\n "graph_id",\n "requested_module_path",\n "requested_export_name",\n "candidates",\n "omitted_candidates",\n "status",\n "selected_node_id"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "candidates": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "export_name": {\n "minLength": 1,\n "type": "string"\n },\n "matches_requested_export": {\n "type": "boolean"\n },\n "matches_requested_module": {\n "type": "boolean"\n },\n "module_path": {\n "minLength": 1,\n "type": "string"\n },\n "node_id": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "node_id",\n "module_path",\n "export_name",\n "matches_requested_module",\n "matches_requested_export"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "graph_id": {\n "pattern": "^jag_[a-f0-9]{64}$",\n "type": "string"\n },\n "omitted_candidates": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "requested_export_name": {\n "minLength": 1,\n "type": "string"\n },\n "requested_module_path": {\n "minLength": 1,\n "type": "string"\n },\n "selected_node_id": {\n "anyOf": [\n {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "unavailable",\n "type": "string"\n }\n },\n "required": [\n "evidence_id",\n "graph_id",\n "requested_module_path",\n "requested_export_name",\n "candidates",\n "omitted_candidates",\n "status",\n "selected_node_id"\n ],\n "type": "object"\n }\n ]\n },\n "summary": {\n "additionalProperties": false,\n "properties": {\n "added": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "changed": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "removed": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "unknown": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "added",\n "removed",\n "changed",\n "unknown"\n ],\n "type": "object"\n }\n },\n "required": [\n "comparison_id",\n "left",\n "right",\n "summary",\n "changes",\n "coverage",\n "evidence_links",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Compare Javascript Export Shapes"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Generate the complete deterministic ReconstructionObligationLedger from an authenticated Evidence 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. The inline result carries the full-ledger closure digest and typed per-obligation diagnostics.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "evidence_bundle": {\n "artifacts": [],\n "captures": [],\n "environments": [],\n "providers": [],\n "records": [],\n "scenarios": [],\n "unknowns": []\n },\n "manifest": {\n "bindings": [],\n "contradictions": []\n },\n "reviewed_obligations": []\n }\n ],\n "properties": {\n "evidence_bundle": {\n "description": "Value for evidence bundle.",\n "properties": {\n "artifacts": {\n "description": "Value for artifacts.",\n "items": {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "digest": {\n "description": "Value for digest.",\n "properties": {\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "description": "Declared input artifact format.",\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n }\n },\n "required": [\n "digest",\n "format",\n "architecture"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "captures": {\n "description": "Value for captures.",\n "items": {\n "properties": {\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "predicate_type": {\n "description": "Value for predicate type.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "evidence_id",\n "predicate_type"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "environments": {\n "description": "Value for environments.",\n "items": {\n "properties": {\n "architecture": {\n "description": "Value for architecture.",\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "description": "Value for isolation.",\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "description": "Value for platform.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "providers": {\n "description": "Value for providers.",\n "items": {\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for version."\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "records": {\n "description": "Value for records.",\n "items": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "description": "Value for analysis profile.",\n "properties": {\n "digest": {\n "description": "Value for digest.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "description": "Value for version.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "description": "Value for authority.",\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "description": "Value for confidence.",\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "description": "Value for architecture.",\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "description": "Value for isolation.",\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "description": "Value for platform.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for environment."\n },\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "description": "Value for evidence links.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "description": "Value for locations.",\n "items": {\n "oneOf": [\n {\n "properties": {\n "address": {\n "description": "Value for address.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "artifact-path",\n "description": "Value for kind.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "file-offset",\n "description": "Value for kind.",\n "type": "string"\n },\n "offset": {\n "description": "Value for offset.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0",\n "description": "Value for normalized result."\n },\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "description": "Value for predicate type.",\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for version."\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for raw result."\n },\n "subject": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "digest": {\n "description": "Value for digest.",\n "properties": {\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "description": "Declared input artifact format.",\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "description": "Local filesystem path for local.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for subject."\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links",\n "analysis_profile"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "authority": {\n "description": "Value for authority.",\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "description": "Value for confidence.",\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "description": "Value for architecture.",\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "description": "Value for isolation.",\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "description": "Value for platform.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for environment."\n },\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "description": "Value for evidence links.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "description": "Value for locations.",\n "items": {\n "oneOf": [\n {\n "properties": {\n "address": {\n "description": "Value for address.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "artifact-path",\n "description": "Value for kind.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "file-offset",\n "description": "Value for kind.",\n "type": "string"\n },\n "offset": {\n "description": "Value for offset.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0",\n "description": "Value for normalized result."\n },\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "description": "Value for predicate type.",\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for version."\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for raw result."\n },\n "subject": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "digest": {\n "description": "Value for digest.",\n "properties": {\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "description": "Declared input artifact format.",\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "description": "Local filesystem path for local.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for subject."\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "scenarios": {\n "description": "Value for scenarios.",\n "items": {\n "properties": {\n "authority": {\n "const": "controlled-replay",\n "description": "Value for authority.",\n "type": "string"\n },\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "evidence_id",\n "operation",\n "authority"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "unknowns": {\n "description": "Value for unknowns.",\n "items": {\n "properties": {\n "contradicting_evidence_ids": {\n "description": "Ordered Evidence identifiers for the contradicting observations.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "domain": {\n "description": "Value for domain.",\n "minLength": 1,\n "type": "string"\n },\n "mutation_evidence_ids": {\n "description": "Ordered Evidence identifiers for the mutation observations.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "previous_revision_digest": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for previous revision digest."\n },\n "question": {\n "description": "Concrete unresolved question to retain for later investigation.",\n "minLength": 1,\n "type": "string"\n },\n "recommended_probes": {\n "description": "Value for recommended probes.",\n "items": {\n "properties": {\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n },\n "rationale": {\n "description": "Value for rationale.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "operation",\n "rationale"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "relationships": {\n "description": "Value for relationships.",\n "items": {\n "properties": {\n "type": {\n "description": "Value for type.",\n "enum": [\n "depends-on",\n "related-to",\n "contradicts"\n ],\n "type": "string"\n },\n "unknown_id": {\n "description": "Exact residual-unknown identifier.",\n "pattern": "^unk_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "type",\n "unknown_id"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "required_authority": {\n "anyOf": [\n {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for required authority."\n },\n "required_confidence": {\n "description": "Value for required confidence.",\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "required_environment": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "id": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for id."\n },\n "isolation": {\n "anyOf": [\n {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for isolation."\n },\n "platform": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for platform."\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for required environment."\n },\n "resolution": {\n "anyOf": [\n {\n "oneOf": [\n {\n "properties": {\n "disposition": {\n "const": "verified",\n "description": "Value for disposition.",\n "type": "string"\n },\n "evidence_ids": {\n "description": "Value for evidence ids.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "rationale": {\n "description": "Value for rationale.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "disposition",\n "rationale",\n "evidence_ids"\n ],\n "type": "object"\n },\n {\n "properties": {\n "disposition": {\n "description": "Value for disposition.",\n "enum": [\n "withdrawn",\n "out-of-scope"\n ],\n "type": "string"\n },\n "evidence_ids": {\n "description": "Value for evidence ids.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "rationale": {\n "description": "Value for rationale.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "disposition",\n "rationale",\n "evidence_ids"\n ],\n "type": "object"\n }\n ]\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for resolution."\n },\n "revision": {\n "description": "Value for revision.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "revision_digest": {\n "description": "Value for revision digest.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "scope_digest": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for scope digest."\n },\n "severity": {\n "description": "Value for severity.",\n "enum": [\n "low",\n "medium",\n "high",\n "critical"\n ],\n "type": "string"\n },\n "status": {\n "description": "Current lifecycle or verification status.",\n "enum": [\n "open",\n "investigating",\n "blocked",\n "contradicted",\n "resolved"\n ],\n "type": "string"\n },\n "supporting_evidence_ids": {\n "description": "Ordered Evidence identifiers for the supporting observations.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "unknown_id": {\n "description": "Exact residual-unknown identifier.",\n "pattern": "^unk_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "unknown_id",\n "revision",\n "previous_revision_digest",\n "revision_digest",\n "scope_digest",\n "question",\n "status",\n "severity",\n "domain",\n "supporting_evidence_ids",\n "contradicting_evidence_ids",\n "required_authority",\n "required_confidence",\n "required_environment",\n "recommended_probes",\n "relationships",\n "resolution",\n "mutation_evidence_ids"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "artifacts",\n "providers",\n "environments",\n "scenarios",\n "captures",\n "unknowns",\n "records"\n ],\n "type": "object"\n },\n "manifest": {\n "additionalProperties": false,\n "description": "Value for manifest.",\n "properties": {\n "bindings": {\n "description": "Value for bindings.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "fixtures": {\n "description": "Value for fixtures.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "authority": {\n "description": "Value for authority.",\n "enum": [\n "unit",\n "integration",\n "protocol",\n "renderer",\n "packaged-process",\n "native-abi",\n "live-observation",\n "external"\n ],\n "type": "string"\n },\n "case_kind": {\n "description": "Value for case kind.",\n "enum": [\n "positive",\n "negative",\n "malformed",\n "cancellation",\n "teardown"\n ],\n "type": "string"\n },\n "evidence_ids": {\n "description": "Value for evidence ids.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "fixture_id": {\n "description": "Value for fixture id.",\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]*$",\n "type": "string"\n }\n },\n "required": [\n "fixture_id",\n "case_kind",\n "authority",\n "evidence_ids"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "obligation_id": {\n "description": "Value for obligation id.",\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]*$",\n "type": "string"\n },\n "original_cases": {\n "description": "Value for original cases.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "kind": {\n "description": "Value for kind.",\n "enum": [\n "positive",\n "negative",\n "malformed",\n "cancellation",\n "teardown"\n ],\n "type": "string"\n },\n "location": {\n "description": "Value for location.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "evidence_id",\n "location"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "owner": {\n "additionalProperties": false,\n "description": "Value for owner.",\n "properties": {\n "module_path": {\n "description": "Local filesystem path for module.",\n "minLength": 1,\n "type": "string"\n },\n "owner_sha256": {\n "description": "Exact SHA-256 digest of owner.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "symbol": {\n "description": "Value for symbol.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "module_path",\n "symbol",\n "owner_sha256"\n ],\n "type": "object"\n },\n "parser_type": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "domain_type": {\n "description": "Value for domain type.",\n "minLength": 1,\n "type": "string"\n },\n "parser": {\n "description": "Value for parser.",\n "minLength": 1,\n "type": "string"\n },\n "schema": {\n "description": "Value for schema.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "parser",\n "schema",\n "domain_type"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for parser type."\n },\n "verifier": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "authority": {\n "description": "Value for authority.",\n "enum": [\n "unit",\n "integration",\n "protocol",\n "renderer",\n "packaged-process",\n "native-abi",\n "live-observation",\n "external"\n ],\n "type": "string"\n },\n "claim_id": {\n "description": "Value for claim id.",\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]*$",\n "type": "string"\n },\n "command": {\n "description": "Value for command.",\n "minLength": 1,\n "type": "string"\n },\n "enumerated_obligation_ids": {\n "description": "Value for enumerated obligation ids.",\n "items": {\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]*$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "nondeterminism": {\n "additionalProperties": false,\n "description": "Value for nondeterminism.",\n "properties": {\n "mode": {\n "description": "Operation mode that selects the requested behavior.",\n "enum": [\n "total-order",\n "partial-order",\n "finite-traces"\n ],\n "type": "string"\n },\n "specification": {\n "description": "Value for specification.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "mode",\n "specification"\n ],\n "type": "object"\n },\n "result_evidence_id": {\n "description": "Exact Evidence identifier for the result observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "status": {\n "description": "Current lifecycle or verification status.",\n "enum": [\n "pass",\n "fail",\n "unknown",\n "unsupported",\n "skipped"\n ],\n "type": "string"\n },\n "verifier_id": {\n "description": "Value for verifier id.",\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]*$",\n "type": "string"\n }\n },\n "required": [\n "verifier_id",\n "claim_id",\n "command",\n "authority",\n "status",\n "result_evidence_id",\n "enumerated_obligation_ids",\n "nondeterminism"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for verifier."\n }\n },\n "required": [\n "obligation_id",\n "owner",\n "parser_type",\n "original_cases",\n "fixtures",\n "verifier"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "contradictions": {\n "description": "Value for contradictions.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "evidence_ids": {\n "description": "Value for evidence ids.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 2,\n "type": "array"\n },\n "obligation_id": {\n "description": "Value for obligation id.",\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]*$",\n "type": "string"\n }\n },\n "required": [\n "obligation_id",\n "evidence_ids"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "bindings",\n "contradictions"\n ],\n "type": "object"\n },\n "reviewed_obligations": {\n "description": "Value for reviewed obligations.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "application_layer": {\n "description": "Value for application layer.",\n "enum": [\n "cli",\n "protocol",\n "electron",\n "persistence",\n "process",\n "runtime",\n "packaging",\n "native-abi",\n "application",\n "other"\n ],\n "type": "string"\n },\n "dependency_obligation_ids": {\n "description": "Value for dependency obligation ids.",\n "items": {\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]*$",\n "type": "string"\n },\n "type": "array"\n },\n "disposition": {\n "description": "Value for disposition.",\n "enum": [\n "active",\n "blocked",\n "out-of-scope"\n ],\n "type": "string"\n },\n "family": {\n "description": "Value for family.",\n "minLength": 1,\n "type": "string"\n },\n "obligation_id": {\n "description": "Value for obligation id.",\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]*$",\n "type": "string"\n },\n "obligation_version": {\n "description": "Value for obligation version.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "required": {\n "description": "Value for required.",\n "type": "boolean"\n },\n "required_case_kinds": {\n "description": "Value for required case kinds.",\n "items": {\n "enum": [\n "positive",\n "negative",\n "malformed",\n "cancellation",\n "teardown"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "required_fixture_authority": {\n "description": "Value for required fixture authority.",\n "enum": [\n "unit",\n "integration",\n "protocol",\n "renderer",\n "packaged-process",\n "native-abi",\n "live-observation",\n "external"\n ],\n "type": "string"\n },\n "required_next_evidence": {\n "description": "Value for required next evidence.",\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "required_original_authority": {\n "description": "Value for required original authority.",\n "enum": [\n "static",\n "runtime",\n "process",\n "external"\n ],\n "type": "string"\n },\n "required_verifier_authority": {\n "description": "Value for required verifier authority.",\n "enum": [\n "unit",\n "integration",\n "protocol",\n "renderer",\n "packaged-process",\n "native-abi",\n "live-observation",\n "external"\n ],\n "type": "string"\n },\n "requires_parser_type": {\n "description": "Value for requires parser type.",\n "type": "boolean"\n },\n "residual_unknown_ids": {\n "description": "Value for residual unknown ids.",\n "items": {\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]*$",\n "type": "string"\n },\n "type": "array"\n },\n "review_evidence_ids": {\n "description": "Ordered Evidence identifiers for the review observations.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "target": {\n "additionalProperties": false,\n "description": "Value for target.",\n "properties": {\n "application_node_id": {\n "anyOf": [\n {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for application node id."\n },\n "artifact_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Exact SHA-256 digest of artifact."\n },\n "location": {\n "description": "Value for location.",\n "minLength": 1,\n "type": "string"\n },\n "semantic_node_id": {\n "anyOf": [\n {\n "pattern": "^jsrg_node_[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for semantic node id."\n }\n },\n "required": [\n "artifact_sha256",\n "application_node_id",\n "semantic_node_id",\n "location"\n ],\n "type": "object"\n },\n "title": {\n "description": "Value for title.",\n "minLength": 1,\n "type": "string"\n },\n "unavailable_authority": {\n "description": "Value for unavailable authority.",\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n }\n },\n "required": [\n "obligation_id",\n "obligation_version",\n "title",\n "application_layer",\n "family",\n "target",\n "required",\n "required_case_kinds",\n "required_original_authority",\n "required_fixture_authority",\n "required_verifier_authority",\n "requires_parser_type",\n "dependency_obligation_ids",\n "residual_unknown_ids",\n "unavailable_authority",\n "required_next_evidence",\n "disposition",\n "review_evidence_ids"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "evidence_bundle",\n "reviewed_obligations",\n "manifest"\n ],\n "type": "object"\n },\n "kind": "application",\n "name": "build_reconstruction_obligation_ledger",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "closure_digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "coverage": {\n "additionalProperties": false,\n "properties": {\n "status": {\n "enum": [\n "complete",\n "partial"\n ],\n "type": "string"\n }\n },\n "required": [\n "status"\n ],\n "type": "object"\n },\n "dependency_graph": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "depends_on_obligation_id": {\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]*$",\n "type": "string"\n },\n "obligation_id": {\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]*$",\n "type": "string"\n }\n },\n "required": [\n "obligation_id",\n "depends_on_obligation_id"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "ledger_id": {\n "pattern": "^rol_[a-f0-9]{64}$",\n "type": "string"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "obligations": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "application_layer": {\n "enum": [\n "cli",\n "protocol",\n "electron",\n "persistence",\n "process",\n "runtime",\n "packaging",\n "native-abi",\n "application",\n "other"\n ],\n "type": "string"\n },\n "authority_references": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "location": {\n "minLength": 1,\n "type": "string"\n },\n "state": {\n "enum": [\n "candidate",\n "observed",\n "reviewed",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "evidence_id",\n "authority",\n "state",\n "location"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "binding": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "fixtures": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "authority": {\n "enum": [\n "unit",\n "integration",\n "protocol",\n "renderer",\n "packaged-process",\n "native-abi",\n "live-observation",\n "external"\n ],\n "type": "string"\n },\n "case_kind": {\n "enum": [\n "positive",\n "negative",\n "malformed",\n "cancellation",\n "teardown"\n ],\n "type": "string"\n },\n "evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "fixture_id": {\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]*$",\n "type": "string"\n }\n },\n "required": [\n "fixture_id",\n "case_kind",\n "authority",\n "evidence_ids"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "obligation_id": {\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]*$",\n "type": "string"\n },\n "original_cases": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "kind": {\n "enum": [\n "positive",\n "negative",\n "malformed",\n "cancellation",\n "teardown"\n ],\n "type": "string"\n },\n "location": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "evidence_id",\n "location"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "owner": {\n "additionalProperties": false,\n "properties": {\n "module_path": {\n "minLength": 1,\n "type": "string"\n },\n "owner_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "symbol": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "module_path",\n "symbol",\n "owner_sha256"\n ],\n "type": "object"\n },\n "parser_type": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "domain_type": {\n "minLength": 1,\n "type": "string"\n },\n "parser": {\n "minLength": 1,\n "type": "string"\n },\n "schema": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "parser",\n "schema",\n "domain_type"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "verifier": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "authority": {\n "enum": [\n "unit",\n "integration",\n "protocol",\n "renderer",\n "packaged-process",\n "native-abi",\n "live-observation",\n "external"\n ],\n "type": "string"\n },\n "claim_id": {\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]*$",\n "type": "string"\n },\n "command": {\n "minLength": 1,\n "type": "string"\n },\n "enumerated_obligation_ids": {\n "items": {\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]*$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "nondeterminism": {\n "additionalProperties": false,\n "properties": {\n "mode": {\n "enum": [\n "total-order",\n "partial-order",\n "finite-traces"\n ],\n "type": "string"\n },\n "specification": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "mode",\n "specification"\n ],\n "type": "object"\n },\n "result_evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "status": {\n "enum": [\n "pass",\n "fail",\n "unknown",\n "unsupported",\n "skipped"\n ],\n "type": "string"\n },\n "verifier_id": {\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]*$",\n "type": "string"\n }\n },\n "required": [\n "verifier_id",\n "claim_id",\n "command",\n "authority",\n "status",\n "result_evidence_id",\n "enumerated_obligation_ids",\n "nondeterminism"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "obligation_id",\n "owner",\n "parser_type",\n "original_cases",\n "fixtures",\n "verifier"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "dependency_obligation_ids": {\n "items": {\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]*$",\n "type": "string"\n },\n "type": "array"\n },\n "diagnostics": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "code": {\n "enum": [\n "duplicate-definition",\n "missing-owner",\n "ambiguous-owner",\n "missing-parser-type",\n "missing-original-case",\n "weak-original-case-authority",\n "missing-case",\n "weak-fixture-authority",\n "missing-verifier",\n "verifier-does-not-enumerate",\n "missing-verifier-result",\n "weak-verifier-authority",\n "verifier-failed",\n "static-only",\n "contradiction",\n "contradiction-evidence-missing",\n "residual-unknown",\n "dependency-missing",\n "dependency-open",\n "unavailable-authority",\n "blocked",\n "out-of-scope"\n ],\n "type": "string"\n },\n "detail": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "code",\n "detail"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "family": {\n "minLength": 1,\n "type": "string"\n },\n "obligation_id": {\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]*$",\n "type": "string"\n },\n "obligation_version": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "observed_cases": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "kind": {\n "enum": [\n "positive",\n "negative",\n "malformed",\n "cancellation",\n "teardown"\n ],\n "type": "string"\n },\n "location": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "evidence_id",\n "location"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "origin": {\n "enum": [\n "generated",\n "reviewed"\n ],\n "type": "string"\n },\n "required": {\n "type": "boolean"\n },\n "required_case_kinds": {\n "items": {\n "enum": [\n "positive",\n "negative",\n "malformed",\n "cancellation",\n "teardown"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "required_fixture_authority": {\n "enum": [\n "unit",\n "integration",\n "protocol",\n "renderer",\n "packaged-process",\n "native-abi",\n "live-observation",\n "external"\n ],\n "type": "string"\n },\n "required_next_evidence": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "required_original_authority": {\n "enum": [\n "static",\n "runtime",\n "process",\n "external"\n ],\n "type": "string"\n },\n "required_verifier_authority": {\n "enum": [\n "unit",\n "integration",\n "protocol",\n "renderer",\n "packaged-process",\n "native-abi",\n "live-observation",\n "external"\n ],\n "type": "string"\n },\n "requires_parser_type": {\n "type": "boolean"\n },\n "residual_unknown_ids": {\n "items": {\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]*$",\n "type": "string"\n },\n "type": "array"\n },\n "source_state": {\n "enum": [\n "candidate",\n "observed",\n "reviewed",\n "unknown"\n ],\n "type": "string"\n },\n "status": {\n "enum": [\n "unowned",\n "characterized",\n "implemented",\n "verified",\n "contradicted",\n "blocked",\n "out-of-scope",\n "unknown"\n ],\n "type": "string"\n },\n "target": {\n "additionalProperties": false,\n "properties": {\n "application_node_id": {\n "anyOf": [\n {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "artifact_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "location": {\n "minLength": 1,\n "type": "string"\n },\n "semantic_node_id": {\n "anyOf": [\n {\n "pattern": "^jsrg_node_[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "artifact_sha256",\n "application_node_id",\n "semantic_node_id",\n "location"\n ],\n "type": "object"\n },\n "title": {\n "minLength": 1,\n "type": "string"\n },\n "unavailable_authority": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n }\n },\n "required": [\n "obligation_id",\n "obligation_version",\n "title",\n "origin",\n "application_layer",\n "family",\n "target",\n "authority_references",\n "source_state",\n "observed_cases",\n "required",\n "required_case_kinds",\n "required_original_authority",\n "required_fixture_authority",\n "required_verifier_authority",\n "requires_parser_type",\n "dependency_obligation_ids",\n "residual_unknown_ids",\n "unavailable_authority",\n "required_next_evidence",\n "binding",\n "status",\n "diagnostics"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "ownership_graph": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "module_path": {\n "minLength": 1,\n "type": "string"\n },\n "obligation_id": {\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]*$",\n "type": "string"\n },\n "symbol": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "obligation_id",\n "module_path",\n "symbol"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "reports": {\n "additionalProperties": false,\n "properties": {\n "contradicted_obligation_ids": {\n "items": {\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]*$",\n "type": "string"\n },\n "type": "array"\n },\n "missing_owner_obligation_ids": {\n "items": {\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]*$",\n "type": "string"\n },\n "type": "array"\n },\n "missing_verifier_obligation_ids": {\n "items": {\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]*$",\n "type": "string"\n },\n "type": "array"\n },\n "residual_unknown_ids": {\n "items": {\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]*$",\n "type": "string"\n },\n "type": "array"\n }\n },\n "required": [\n "missing_owner_obligation_ids",\n "missing_verifier_obligation_ids",\n "contradicted_obligation_ids",\n "residual_unknown_ids"\n ],\n "type": "object"\n },\n "schema": {\n "const": "ReconstructionObligationLedger",\n "type": "string"\n },\n "status": {\n "enum": [\n "ready",\n "open",\n "failed",\n "unknown"\n ],\n "type": "string"\n },\n "summary": {\n "additionalProperties": false,\n "properties": {\n "by_application_layer": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "count": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "key": {\n "enum": [\n "cli",\n "protocol",\n "electron",\n "persistence",\n "process",\n "runtime",\n "packaging",\n "native-abi",\n "application",\n "other"\n ],\n "type": "string"\n }\n },\n "required": [\n "key",\n "count"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "by_evidence_authority": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "count": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "key": {\n "enum": [\n "candidate",\n "observed",\n "reviewed",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "key",\n "count"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "by_status": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "count": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "key": {\n "enum": [\n "unowned",\n "characterized",\n "implemented",\n "verified",\n "contradicted",\n "blocked",\n "out-of-scope",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "key",\n "count"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "required": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "required_open": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "total": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "verified": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "total",\n "required",\n "verified",\n "required_open",\n "by_status",\n "by_application_layer",\n "by_evidence_authority"\n ],\n "type": "object"\n }\n },\n "required": [\n "schema",\n "ledger_id",\n "closure_digest",\n "status",\n "coverage",\n "summary",\n "reports",\n "ownership_graph",\n "dependency_graph",\n "obligations",\n "evidence_links",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Build Reconstruction Obligation Ledger"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": true\n },\n "description": "Evaluate inline evidence-backed reconstruction coverage against one named boundary. 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.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": false,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "boundary_id": "replacement.cli",\n "coverage": {\n "artifacts": [],\n "boundaries": [\n {\n "allowed_dispositions": [],\n "allowed_unknown_ids": [],\n "boundary_id": "replacement.cli",\n "required_claim_ids": [\n "claim.cli.help"\n ],\n "required_package_proof_kinds": [\n "clean-install",\n "authority-independence"\n ],\n "required_surface_ids": [\n "cli.help"\n ],\n "title": "CLI replacement"\n }\n ],\n "claims": [],\n "contradictions": [],\n "evidence_bundle": {\n "artifacts": [],\n "captures": [],\n "environments": [],\n "providers": [],\n "records": [],\n "scenarios": [],\n "unknowns": []\n },\n "owners": [],\n "package_proofs": [],\n "residual_unknown_ids": [],\n "surfaces": [],\n "verifier_contracts": [],\n "verifier_results": []\n }\n }\n ],\n "properties": {\n "boundary_id": {\n "description": "Exact reconstruction boundary identifier to evaluate.",\n "minLength": 1,\n "type": "string"\n },\n "coverage": {\n "additionalProperties": false,\n "description": "Exact reconstruction-coverage commitment to verify.",\n "properties": {\n "artifacts": {\n "description": "Value for artifacts.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "artifact_id": {\n "description": "Value for artifact id.",\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]{0,199}$",\n "type": "string"\n },\n "artifact_sha256": {\n "description": "Exact SHA-256 digest of artifact.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "environment_sha256": {\n "description": "Exact SHA-256 digest of environment.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_ids": {\n "description": "Value for evidence ids.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "version": {\n "description": "Value for version.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "artifact_id",\n "artifact_sha256",\n "version",\n "environment_sha256",\n "evidence_ids"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "boundaries": {\n "description": "Value for boundaries.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "allowed_dispositions": {\n "description": "Value for allowed dispositions.",\n "items": {\n "enum": [\n "external",\n "non-goal"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "allowed_unknown_ids": {\n "description": "Value for allowed unknown ids.",\n "items": {\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]{0,199}$",\n "type": "string"\n },\n "type": "array"\n },\n "boundary_id": {\n "description": "Exact reconstruction boundary identifier to evaluate.",\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]{0,199}$",\n "type": "string"\n },\n "required_claim_ids": {\n "description": "Value for required claim ids.",\n "items": {\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]{0,199}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "required_package_proof_kinds": {\n "description": "Value for required package proof kinds.",\n "items": {\n "enum": [\n "build",\n "clean-install",\n "package-contents",\n "runtime-routing",\n "authority-independence"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "required_surface_ids": {\n "description": "Value for required surface ids.",\n "items": {\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]{0,199}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "title": {\n "description": "Value for title.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "boundary_id",\n "title",\n "required_surface_ids",\n "required_claim_ids",\n "required_package_proof_kinds",\n "allowed_dispositions",\n "allowed_unknown_ids"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "claims": {\n "description": "Value for claims.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "claim_id": {\n "description": "Value for claim id.",\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]{0,199}$",\n "type": "string"\n },\n "kind": {\n "description": "Value for kind.",\n "minLength": 1,\n "type": "string"\n },\n "required_authority": {\n "description": "Value for required authority.",\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "live-observation",\n "external"\n ],\n "type": "string"\n },\n "required_dimensions": {\n "description": "Value for required dimensions.",\n "items": {\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]{0,199}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "surface_ids": {\n "description": "Value for surface ids.",\n "items": {\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]{0,199}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "title": {\n "description": "Value for title.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "claim_id",\n "title",\n "kind",\n "surface_ids",\n "required_dimensions",\n "required_authority"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "contradictions": {\n "description": "Value for contradictions.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "claim_ids": {\n "description": "Value for claim ids.",\n "items": {\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]{0,199}$",\n "type": "string"\n },\n "type": "array"\n },\n "contradiction_id": {\n "description": "Value for contradiction id.",\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]{0,199}$",\n "type": "string"\n },\n "evidence_ids": {\n "description": "Value for evidence ids.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 2,\n "type": "array"\n },\n "status": {\n "description": "Current lifecycle or verification status.",\n "enum": [\n "active",\n "resolved"\n ],\n "type": "string"\n },\n "surface_ids": {\n "description": "Value for surface ids.",\n "items": {\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]{0,199}$",\n "type": "string"\n },\n "type": "array"\n }\n },\n "required": [\n "contradiction_id",\n "status",\n "surface_ids",\n "claim_ids",\n "evidence_ids"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "evidence_bundle": {\n "description": "Value for evidence bundle.",\n "properties": {\n "artifacts": {\n "description": "Value for artifacts.",\n "items": {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "digest": {\n "description": "Value for digest.",\n "properties": {\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "description": "Declared input artifact format.",\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n }\n },\n "required": [\n "digest",\n "format",\n "architecture"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "captures": {\n "description": "Value for captures.",\n "items": {\n "properties": {\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "predicate_type": {\n "description": "Value for predicate type.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "evidence_id",\n "predicate_type"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "environments": {\n "description": "Value for environments.",\n "items": {\n "properties": {\n "architecture": {\n "description": "Value for architecture.",\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "description": "Value for isolation.",\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "description": "Value for platform.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "providers": {\n "description": "Value for providers.",\n "items": {\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for version."\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "records": {\n "description": "Value for records.",\n "items": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "description": "Value for analysis profile.",\n "properties": {\n "digest": {\n "description": "Value for digest.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "description": "Value for version.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "description": "Value for authority.",\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "description": "Value for confidence.",\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "description": "Value for architecture.",\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "description": "Value for isolation.",\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "description": "Value for platform.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for environment."\n },\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "description": "Value for evidence links.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "description": "Value for locations.",\n "items": {\n "oneOf": [\n {\n "properties": {\n "address": {\n "description": "Value for address.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "artifact-path",\n "description": "Value for kind.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "file-offset",\n "description": "Value for kind.",\n "type": "string"\n },\n "offset": {\n "description": "Value for offset.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0",\n "description": "Value for normalized result."\n },\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "description": "Value for predicate type.",\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for version."\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for raw result."\n },\n "subject": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "digest": {\n "description": "Value for digest.",\n "properties": {\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "description": "Declared input artifact format.",\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "description": "Local filesystem path for local.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for subject."\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links",\n "analysis_profile"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "authority": {\n "description": "Value for authority.",\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "description": "Value for confidence.",\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "description": "Value for architecture.",\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "description": "Value for isolation.",\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "description": "Value for platform.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for environment."\n },\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "description": "Value for evidence links.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "description": "Value for locations.",\n "items": {\n "oneOf": [\n {\n "properties": {\n "address": {\n "description": "Value for address.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "artifact-path",\n "description": "Value for kind.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "file-offset",\n "description": "Value for kind.",\n "type": "string"\n },\n "offset": {\n "description": "Value for offset.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0",\n "description": "Value for normalized result."\n },\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "description": "Value for predicate type.",\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for version."\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for raw result."\n },\n "subject": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "digest": {\n "description": "Value for digest.",\n "properties": {\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "description": "Declared input artifact format.",\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "description": "Local filesystem path for local.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for subject."\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "scenarios": {\n "description": "Value for scenarios.",\n "items": {\n "properties": {\n "authority": {\n "const": "controlled-replay",\n "description": "Value for authority.",\n "type": "string"\n },\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "evidence_id",\n "operation",\n "authority"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "unknowns": {\n "description": "Value for unknowns.",\n "items": {\n "properties": {\n "contradicting_evidence_ids": {\n "description": "Ordered Evidence identifiers for the contradicting observations.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "domain": {\n "description": "Value for domain.",\n "minLength": 1,\n "type": "string"\n },\n "mutation_evidence_ids": {\n "description": "Ordered Evidence identifiers for the mutation observations.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "previous_revision_digest": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for previous revision digest."\n },\n "question": {\n "description": "Concrete unresolved question to retain for later investigation.",\n "minLength": 1,\n "type": "string"\n },\n "recommended_probes": {\n "description": "Value for recommended probes.",\n "items": {\n "properties": {\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n },\n "rationale": {\n "description": "Value for rationale.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "operation",\n "rationale"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "relationships": {\n "description": "Value for relationships.",\n "items": {\n "properties": {\n "type": {\n "description": "Value for type.",\n "enum": [\n "depends-on",\n "related-to",\n "contradicts"\n ],\n "type": "string"\n },\n "unknown_id": {\n "description": "Exact residual-unknown identifier.",\n "pattern": "^unk_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "type",\n "unknown_id"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "required_authority": {\n "anyOf": [\n {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for required authority."\n },\n "required_confidence": {\n "description": "Value for required confidence.",\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "required_environment": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "id": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for id."\n },\n "isolation": {\n "anyOf": [\n {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for isolation."\n },\n "platform": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for platform."\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for required environment."\n },\n "resolution": {\n "anyOf": [\n {\n "oneOf": [\n {\n "properties": {\n "disposition": {\n "const": "verified",\n "description": "Value for disposition.",\n "type": "string"\n },\n "evidence_ids": {\n "description": "Value for evidence ids.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "rationale": {\n "description": "Value for rationale.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "disposition",\n "rationale",\n "evidence_ids"\n ],\n "type": "object"\n },\n {\n "properties": {\n "disposition": {\n "description": "Value for disposition.",\n "enum": [\n "withdrawn",\n "out-of-scope"\n ],\n "type": "string"\n },\n "evidence_ids": {\n "description": "Value for evidence ids.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "rationale": {\n "description": "Value for rationale.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "disposition",\n "rationale",\n "evidence_ids"\n ],\n "type": "object"\n }\n ]\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for resolution."\n },\n "revision": {\n "description": "Value for revision.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "revision_digest": {\n "description": "Value for revision digest.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "scope_digest": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for scope digest."\n },\n "severity": {\n "description": "Value for severity.",\n "enum": [\n "low",\n "medium",\n "high",\n "critical"\n ],\n "type": "string"\n },\n "status": {\n "description": "Current lifecycle or verification status.",\n "enum": [\n "open",\n "investigating",\n "blocked",\n "contradicted",\n "resolved"\n ],\n "type": "string"\n },\n "supporting_evidence_ids": {\n "description": "Ordered Evidence identifiers for the supporting observations.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "unknown_id": {\n "description": "Exact residual-unknown identifier.",\n "pattern": "^unk_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "unknown_id",\n "revision",\n "previous_revision_digest",\n "revision_digest",\n "scope_digest",\n "question",\n "status",\n "severity",\n "domain",\n "supporting_evidence_ids",\n "contradicting_evidence_ids",\n "required_authority",\n "required_confidence",\n "required_environment",\n "recommended_probes",\n "relationships",\n "resolution",\n "mutation_evidence_ids"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "artifacts",\n "providers",\n "environments",\n "scenarios",\n "captures",\n "unknowns",\n "records"\n ],\n "type": "object"\n },\n "owners": {\n "description": "Value for owners.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "ownership": {\n "description": "Value for ownership.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "authority_route": {\n "description": "Value for authority route.",\n "enum": [\n "none",\n "detected",\n "unknown"\n ],\n "type": "string"\n },\n "disposition": {\n "const": "implemented",\n "description": "Value for disposition.",\n "type": "string"\n },\n "owner_export": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for owner export."\n },\n "owner_path": {\n "description": "Local filesystem path for owner.",\n "minLength": 1,\n "type": "string"\n },\n "owner_sha256": {\n "description": "Exact SHA-256 digest of owner.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "package_state": {\n "description": "Value for package state.",\n "enum": [\n "distributed",\n "missing",\n "unknown"\n ],\n "type": "string"\n },\n "path_state": {\n "description": "Value for path state.",\n "enum": [\n "present",\n "missing",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "disposition",\n "owner_path",\n "owner_export",\n "owner_sha256",\n "path_state",\n "package_state",\n "authority_route"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "disposition": {\n "description": "Value for disposition.",\n "enum": [\n "external",\n "non-goal"\n ],\n "type": "string"\n },\n "rationale": {\n "description": "Value for rationale.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "disposition",\n "rationale"\n ],\n "type": "object"\n }\n ]\n },\n "surface_id": {\n "description": "Value for surface id.",\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]{0,199}$",\n "type": "string"\n }\n },\n "required": [\n "surface_id",\n "ownership"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "package_proofs": {\n "description": "Value for package proofs.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "artifact_sha256s": {\n "description": "Value for artifact sha256s.",\n "items": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "evidence_ids": {\n "description": "Value for evidence ids.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "kind": {\n "description": "Value for kind.",\n "enum": [\n "build",\n "clean-install",\n "package-contents",\n "runtime-routing",\n "authority-independence"\n ],\n "type": "string"\n },\n "proof_id": {\n "description": "Value for proof id.",\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]{0,199}$",\n "type": "string"\n },\n "status": {\n "description": "Current lifecycle or verification status.",\n "enum": [\n "pass",\n "fail",\n "unknown",\n "unsupported",\n "skipped"\n ],\n "type": "string"\n }\n },\n "required": [\n "proof_id",\n "kind",\n "status",\n "artifact_sha256s",\n "evidence_ids"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "residual_unknown_ids": {\n "description": "Value for residual unknown ids.",\n "items": {\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]{0,199}$",\n "type": "string"\n },\n "type": "array"\n },\n "surfaces": {\n "description": "Value for surfaces.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "artifact_id": {\n "description": "Value for artifact id.",\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]{0,199}$",\n "type": "string"\n },\n "authority": {\n "description": "Value for authority.",\n "enum": [\n "observed",\n "derived",\n "inferred",\n "historical",\n "external"\n ],\n "type": "string"\n },\n "dependency_surface_ids": {\n "description": "Value for dependency surface ids.",\n "items": {\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]{0,199}$",\n "type": "string"\n },\n "type": "array"\n },\n "evidence_ids": {\n "description": "Value for evidence ids.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "family": {\n "description": "Value for family.",\n "minLength": 1,\n "type": "string"\n },\n "location": {\n "description": "Value for location.",\n "minLength": 1,\n "type": "string"\n },\n "occurrence_id": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for occurrence id."\n },\n "surface_id": {\n "description": "Value for surface id.",\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]{0,199}$",\n "type": "string"\n }\n },\n "required": [\n "surface_id",\n "family",\n "artifact_id",\n "occurrence_id",\n "location",\n "authority",\n "dependency_surface_ids",\n "evidence_ids"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "verifier_contracts": {\n "description": "Value for verifier contracts.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "authority": {\n "description": "Value for authority.",\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "live-observation",\n "external"\n ],\n "type": "string"\n },\n "claim_ids": {\n "description": "Value for claim ids.",\n "items": {\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]{0,199}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "contract_sha256": {\n "description": "Exact SHA-256 digest of contract.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "dimensions": {\n "description": "Value for dimensions.",\n "items": {\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]{0,199}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "max_age_ms": {\n "description": "Maximum permitted age ms for this operation.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "minimum_repeats": {\n "description": "Value for minimum repeats.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "normalization_removes_dimensions": {\n "const": false,\n "description": "Value for normalization removes dimensions.",\n "type": "boolean"\n },\n "normalization_sha256": {\n "description": "Exact SHA-256 digest of normalization.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "verifier_id": {\n "description": "Value for verifier id.",\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]{0,199}$",\n "type": "string"\n }\n },\n "required": [\n "verifier_id",\n "claim_ids",\n "dimensions",\n "authority",\n "max_age_ms",\n "minimum_repeats",\n "normalization_sha256",\n "normalization_removes_dimensions",\n "contract_sha256"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "verifier_results": {\n "description": "Value for verifier results.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "artifact_sha256s": {\n "description": "Value for artifact sha256s.",\n "items": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "contract_sha256": {\n "description": "Exact SHA-256 digest of contract.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "covered_claim_ids": {\n "description": "Value for covered claim ids.",\n "items": {\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]{0,199}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "covered_dimensions": {\n "description": "Value for covered dimensions.",\n "items": {\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]{0,199}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "evidence_ids": {\n "description": "Value for evidence ids.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "normalization_sha256": {\n "description": "Exact SHA-256 digest of normalization.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "observed_at": {\n "description": "Value for observed at.",\n "format": "date-time",\n "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)))$",\n "type": "string"\n },\n "owner_sha256s": {\n "description": "Value for owner sha256s.",\n "items": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "repeats": {\n "description": "Value for repeats.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "status": {\n "description": "Current lifecycle or verification status.",\n "enum": [\n "pass",\n "fail",\n "unknown",\n "unsupported",\n "truncated",\n "skipped"\n ],\n "type": "string"\n },\n "verifier_id": {\n "description": "Value for verifier id.",\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]{0,199}$",\n "type": "string"\n }\n },\n "required": [\n "verifier_id",\n "contract_sha256",\n "observed_at",\n "status",\n "covered_claim_ids",\n "covered_dimensions",\n "artifact_sha256s",\n "owner_sha256s",\n "normalization_sha256",\n "repeats",\n "evidence_ids"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "evidence_bundle",\n "artifacts",\n "surfaces",\n "owners",\n "claims",\n "verifier_contracts",\n "verifier_results",\n "residual_unknown_ids",\n "contradictions",\n "package_proofs",\n "boundaries"\n ],\n "type": "object"\n }\n },\n "required": [\n "coverage",\n "boundary_id"\n ],\n "type": "object"\n },\n "kind": "application",\n "name": "evaluate_reconstruction_coverage",\n "outputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "boundary_id": {\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]{0,199}$",\n "type": "string"\n },\n "evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "reasons": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "code": {\n "enum": [\n "surface-missing",\n "owner-missing",\n "owner-duplicate",\n "owner-path-missing",\n "owner-path-unknown",\n "owner-undistributed",\n "owner-distribution-unknown",\n "authority-routing-detected",\n "authority-routing-unknown",\n "disposition-not-allowed",\n "dependency-surface-missing",\n "claim-missing",\n "verifier-missing",\n "verifier-duplicate",\n "verifier-result-missing",\n "verifier-result-stale",\n "verifier-result-incompatible",\n "verifier-failed",\n "verifier-unknown",\n "active-unknown",\n "active-contradiction",\n "package-proof-missing",\n "package-proof-failed",\n "package-proof-unknown"\n ],\n "type": "string"\n },\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "subject_id": {\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]{0,199}$",\n "type": "string"\n }\n },\n "required": [\n "code",\n "subject_id",\n "detail"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "recommended_probes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "operation": {\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]{0,199}$",\n "type": "string"\n },\n "rationale": {\n "minLength": 1,\n "type": "string"\n },\n "subject_id": {\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]{0,199}$",\n "type": "string"\n }\n },\n "required": [\n "operation",\n "subject_id",\n "rationale"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "status": {\n "enum": [\n "partial",\n "failed",\n "unknown",\n "ready"\n ],\n "type": "string"\n },\n "summary": {\n "additionalProperties": false,\n "properties": {\n "reasons": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "required_claims": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "required_surfaces": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "required_surfaces",\n "required_claims",\n "reasons"\n ],\n "type": "object"\n }\n },\n "required": [\n "boundary_id",\n "status",\n "summary",\n "reasons",\n "recommended_probes",\n "evidence_ids"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Evaluate Reconstruction Coverage"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Project authenticated APK inventory_artifact Evidence into an execution-free Android application inventory. Reports exact component paths and hashes, runtime-family hints, and path-based bridge hypotheses without decoding DEX, executing the APK, or claiming observed runtime calls.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "inventory_evidence": [\n {\n "authority": "shipped-artifact",\n "confidence": "observed",\n "environment": null,\n "evidence_id": "ev_3cb45ae987278620b8d5a62638296cd49034f8b1dfb88d0196764a1088821e3c",\n "evidence_links": [],\n "limitations": [],\n "locations": [],\n "normalized_result": {\n "edges": [],\n "limitations": [],\n "manifest": {\n "edge_count": 0,\n "graph_sha256": "a4cea3d85dfa8645e5eb026d0dfa82ab19b686bb15964afc5e3f874b14c76de8",\n "manifest_id": "agm_972f60433a8998c511f3b02ee759a41cd1ea2e19ba6c4133b7ac52297944dbb3",\n "node_count": 1,\n "occurrence_count": 1,\n "root_artifact_id": "art_91d55c997599a1b301a52f2ad8559a9f2bfa28927d7cb2c391f3cedf6072ccdd",\n "root_format": "apk",\n "root_sha256": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"\n },\n "nodes": [\n {\n "architecture": null,\n "artifact_id": "art_91d55c997599a1b301a52f2ad8559a9f2bfa28927d7cb2c391f3cedf6072ccdd",\n "content_state": "materialized",\n "executable": false,\n "format": "apk",\n "kind": "resource",\n "limitations": [],\n "media_type": null,\n "sha256": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",\n "size": 1\n }\n ],\n "occurrences": [\n {\n "artifact_id": "art_91d55c997599a1b301a52f2ad8559a9f2bfa28927d7cb2c391f3cedf6072ccdd",\n "compressed_size": null,\n "declared_size": 1,\n "encrypted": false,\n "entry_kind": "file",\n "executable": false,\n "hash_status": "verified",\n "limitations": [],\n "logical_path": ".",\n "occurrence_id": "occ_385f341599a469f680d89371fd8d26bf235e4bd95e29f941f69830343ea72c5a",\n "parent_occurrence_id": null,\n "source_location": null\n }\n ],\n "provenance": []\n },\n "operation": "inventory_artifact",\n "parameters": {},\n "predicate_type": "rea.analysis",\n "provider": {\n "id": "rea-artifact-graph",\n "name": "REA safe artifact graph provider",\n "version": "1"\n },\n "raw_result": null,\n "subject": {\n "architecture": null,\n "digest": {\n "sha256": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"\n },\n "format": "apk",\n "local_path": "Fixture.apk",\n "name": "Fixture.apk"\n }\n }\n ]\n }\n ],\n "properties": {\n "inventory_evidence": {\n "description": "Value for inventory evidence.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "description": "Value for analysis profile.",\n "properties": {\n "digest": {\n "description": "Value for digest.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "description": "Value for version.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "description": "Value for authority.",\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "description": "Value for confidence.",\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "description": "Value for architecture.",\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "description": "Value for isolation.",\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "description": "Value for platform.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for environment."\n },\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "description": "Value for evidence links.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "description": "Value for locations.",\n "items": {\n "oneOf": [\n {\n "properties": {\n "address": {\n "description": "Value for address.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "artifact-path",\n "description": "Value for kind.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "file-offset",\n "description": "Value for kind.",\n "type": "string"\n },\n "offset": {\n "description": "Value for offset.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0",\n "description": "Value for normalized result."\n },\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "description": "Value for predicate type.",\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for version."\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for raw result."\n },\n "subject": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "digest": {\n "description": "Value for digest.",\n "properties": {\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "description": "Declared input artifact format.",\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "description": "Local filesystem path for local.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for subject."\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "inventory_evidence"\n ],\n "type": "object"\n },\n "kind": "application",\n "name": "project_android_application_graph",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "bridge_candidates": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "basis": {\n "enum": [\n "managed-and-native-content",\n "jni-library-convention",\n "react-native-convention",\n "flutter-convention",\n "unity-convention"\n ],\n "type": "string"\n },\n "managed_path": {\n "minLength": 1,\n "type": "string"\n },\n "native_path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "managed_path",\n "native_path",\n "basis"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "components": {\n "additionalProperties": false,\n "properties": {\n "dex": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "artifact_id": {\n "pattern": "^art_[a-f0-9]{64}$",\n "type": "string"\n },\n "format": {\n "minLength": 1,\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "path",\n "artifact_id",\n "sha256",\n "format"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "javascript": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "artifact_id": {\n "pattern": "^art_[a-f0-9]{64}$",\n "type": "string"\n },\n "format": {\n "minLength": 1,\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "path",\n "artifact_id",\n "sha256",\n "format"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "jvm_classes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "artifact_id": {\n "pattern": "^art_[a-f0-9]{64}$",\n "type": "string"\n },\n "format": {\n "minLength": 1,\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "path",\n "artifact_id",\n "sha256",\n "format"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "manifests": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "artifact_id": {\n "pattern": "^art_[a-f0-9]{64}$",\n "type": "string"\n },\n "format": {\n "minLength": 1,\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "path",\n "artifact_id",\n "sha256",\n "format"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "native_libraries": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "artifact_id": {\n "pattern": "^art_[a-f0-9]{64}$",\n "type": "string"\n },\n "format": {\n "minLength": 1,\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "path",\n "artifact_id",\n "sha256",\n "format"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "resources": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "artifact_id": {\n "pattern": "^art_[a-f0-9]{64}$",\n "type": "string"\n },\n "format": {\n "minLength": 1,\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "path",\n "artifact_id",\n "sha256",\n "format"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "signing": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "artifact_id": {\n "pattern": "^art_[a-f0-9]{64}$",\n "type": "string"\n },\n "format": {\n "minLength": 1,\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "path",\n "artifact_id",\n "sha256",\n "format"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "manifests",\n "resources",\n "dex",\n "jvm_classes",\n "native_libraries",\n "javascript",\n "signing"\n ],\n "type": "object"\n },\n "coverage": {\n "additionalProperties": false,\n "properties": {\n "inventory_complete": {\n "type": "boolean"\n },\n "status": {\n "enum": [\n "complete-within-inventory",\n "partial"\n ],\n "type": "string"\n }\n },\n "required": [\n "status",\n "inventory_complete"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "projection_id": {\n "pattern": "^adp_[a-f0-9]{64}$",\n "type": "string"\n },\n "root_format": {\n "const": "apk",\n "type": "string"\n },\n "root_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "runtime_families": {\n "items": {\n "enum": [\n "dalvik-art",\n "java-kotlin",\n "native",\n "javascript",\n "react-native",\n "flutter",\n "unity"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "source_evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "projection_id",\n "root_sha256",\n "root_format",\n "source_evidence_ids",\n "components",\n "runtime_families",\n "bridge_candidates",\n "coverage",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Project Android Application Graph"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Project authenticated IPA inventory_artifact Evidence into an execution-free Apple application inventory. Reports exact component paths and hashes, runtime-family hints, and path-based bridge hypotheses without parsing plist/CMS semantics or claiming observed runtime calls.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "inventory_evidence": [\n {\n "authority": "shipped-artifact",\n "confidence": "observed",\n "environment": null,\n "evidence_id": "ev_26149f40576cc43ae2d1d8bb465090d2c3b227e3d2394d08cfdf0b61beba64ad",\n "evidence_links": [],\n "limitations": [],\n "locations": [],\n "normalized_result": {\n "edges": [],\n "limitations": [],\n "manifest": {\n "edge_count": 0,\n "graph_sha256": "5e6590160ac53eb4c5dc8a9722eec87dfc6fbee85b8b01c3391b9b5e872c862a",\n "manifest_id": "agm_72d1336aafbec396c67971ffc28c79661b2d1e2bdf8c00823db99ff007f601be",\n "node_count": 1,\n "occurrence_count": 1,\n "root_artifact_id": "art_b42a19aa08c8eda5b54ff7dedca16546a342bfe20da65c1377403feb7a74a960",\n "root_format": "ipa",\n "root_sha256": "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"\n },\n "nodes": [\n {\n "architecture": null,\n "artifact_id": "art_b42a19aa08c8eda5b54ff7dedca16546a342bfe20da65c1377403feb7a74a960",\n "content_state": "materialized",\n "executable": false,\n "format": "ipa",\n "kind": "resource",\n "limitations": [],\n "media_type": null,\n "sha256": "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",\n "size": 1\n }\n ],\n "occurrences": [\n {\n "artifact_id": "art_b42a19aa08c8eda5b54ff7dedca16546a342bfe20da65c1377403feb7a74a960",\n "compressed_size": null,\n "declared_size": 1,\n "encrypted": false,\n "entry_kind": "file",\n "executable": false,\n "hash_status": "verified",\n "limitations": [],\n "logical_path": ".",\n "occurrence_id": "occ_fc32a68378230630d05886e51a1e327af55b3a1d89f5365e07587e7e9ed1cce6",\n "parent_occurrence_id": null,\n "source_location": null\n }\n ],\n "provenance": []\n },\n "operation": "inventory_artifact",\n "parameters": {},\n "predicate_type": "rea.analysis",\n "provider": {\n "id": "rea-artifact-graph",\n "name": "REA safe artifact graph provider",\n "version": "1"\n },\n "raw_result": null,\n "subject": {\n "architecture": null,\n "digest": {\n "sha256": "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"\n },\n "format": "ipa",\n "local_path": "Fixture.ipa",\n "name": "Fixture.ipa"\n }\n }\n ]\n }\n ],\n "properties": {\n "inventory_evidence": {\n "description": "Value for inventory evidence.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "description": "Value for analysis profile.",\n "properties": {\n "digest": {\n "description": "Value for digest.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "description": "Value for version.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "description": "Value for authority.",\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "description": "Value for confidence.",\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "description": "Value for architecture.",\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "description": "Value for isolation.",\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "description": "Value for platform.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for environment."\n },\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "description": "Value for evidence links.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "description": "Value for locations.",\n "items": {\n "oneOf": [\n {\n "properties": {\n "address": {\n "description": "Value for address.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "artifact-path",\n "description": "Value for kind.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "file-offset",\n "description": "Value for kind.",\n "type": "string"\n },\n "offset": {\n "description": "Value for offset.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0",\n "description": "Value for normalized result."\n },\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "description": "Value for predicate type.",\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for version."\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for raw result."\n },\n "subject": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "digest": {\n "description": "Value for digest.",\n "properties": {\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "description": "Declared input artifact format.",\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "description": "Local filesystem path for local.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for subject."\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "inventory_evidence"\n ],\n "type": "object"\n },\n "kind": "application",\n "name": "project_apple_application_graph",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "application_roots": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "bridge_candidates": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "basis": {\n "enum": [\n "javascript-and-native-content",\n "react-native-convention",\n "flutter-convention",\n "unity-convention"\n ],\n "type": "string"\n },\n "native_path": {\n "minLength": 1,\n "type": "string"\n },\n "source_path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "source_path",\n "native_path",\n "basis"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "components": {\n "additionalProperties": false,\n "properties": {\n "bundle_metadata": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "artifact_id": {\n "pattern": "^art_[a-f0-9]{64}$",\n "type": "string"\n },\n "format": {\n "minLength": 1,\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "path",\n "artifact_id",\n "sha256",\n "format"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "executables": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "artifact_id": {\n "pattern": "^art_[a-f0-9]{64}$",\n "type": "string"\n },\n "format": {\n "minLength": 1,\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "path",\n "artifact_id",\n "sha256",\n "format"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "frameworks": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "artifact_id": {\n "pattern": "^art_[a-f0-9]{64}$",\n "type": "string"\n },\n "format": {\n "minLength": 1,\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "path",\n "artifact_id",\n "sha256",\n "format"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "javascript": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "artifact_id": {\n "pattern": "^art_[a-f0-9]{64}$",\n "type": "string"\n },\n "format": {\n "minLength": 1,\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "path",\n "artifact_id",\n "sha256",\n "format"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "native_libraries": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "artifact_id": {\n "pattern": "^art_[a-f0-9]{64}$",\n "type": "string"\n },\n "format": {\n "minLength": 1,\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "path",\n "artifact_id",\n "sha256",\n "format"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "signing": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "artifact_id": {\n "pattern": "^art_[a-f0-9]{64}$",\n "type": "string"\n },\n "format": {\n "minLength": 1,\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "path",\n "artifact_id",\n "sha256",\n "format"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "bundle_metadata",\n "executables",\n "frameworks",\n "native_libraries",\n "javascript",\n "signing"\n ],\n "type": "object"\n },\n "coverage": {\n "additionalProperties": false,\n "properties": {\n "inventory_complete": {\n "type": "boolean"\n },\n "status": {\n "enum": [\n "complete-within-inventory",\n "partial"\n ],\n "type": "string"\n }\n },\n "required": [\n "status",\n "inventory_complete"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "projection_id": {\n "pattern": "^aap_[a-f0-9]{64}$",\n "type": "string"\n },\n "root_format": {\n "const": "ipa",\n "type": "string"\n },\n "root_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "runtime_families": {\n "items": {\n "enum": [\n "native",\n "swift-objective-c",\n "javascript",\n "react-native",\n "flutter",\n "unity"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "source_evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "projection_id",\n "root_sha256",\n "root_format",\n "source_evidence_ids",\n "application_roots",\n "components",\n "runtime_families",\n "bridge_candidates",\n "coverage",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Project Apple Application Graph"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": true,\n "readOnlyHint": false\n },\n "description": "Trace one generated position in an exported website script through an explicitly paired local source map. Verifies manifest, selected script and map SHA-256/byte identities; returns every equal-position mapping, reported source/root, resolved source URL, embedded sourcesContent and original position inline. One-based lines and zero-based UTF-16 columns; greatest generated position <= requested across lines. Duplicate sources and generated-only mappings remain distinct. Caller-selected pairing does not establish deployment authenticity or execution. Regular maps and inline indexed sections only; external section URLs are unsupported. No network access or application execution; uses the pinned upstream codec in an owned Node process with private temporary files, independent 192 MiB old-generation heap and 20-second deadline. 4 MiB map, 32 MiB reply; complete evidence or actionable resource failure. Cleanup may extend the deadline.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": true,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": true\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "generated_position": {\n "column": 25,\n "line": 1\n },\n "manifest_path": "/analysis/scripts/manifest.json",\n "script_index": 0,\n "source_map": {\n "path": "/analysis/app.js.map",\n "url": "https://example.test/app.js.map"\n }\n }\n ],\n "properties": {\n "generated_position": {\n "additionalProperties": false,\n "description": "Value for generated position.",\n "properties": {\n "column": {\n "description": "Value for column.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "description": "Value for line.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "line",\n "column"\n ],\n "type": "object"\n },\n "manifest_path": {\n "description": "Absolute export_web_scripts manifest path",\n "minLength": 1,\n "type": "string"\n },\n "script_index": {\n "description": "Zero-based index in manifest.scripts",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "source_map": {\n "additionalProperties": false,\n "description": "Value for source map.",\n "properties": {\n "path": {\n "description": "Absolute local source-map path; no fetch",\n "minLength": 1,\n "type": "string"\n },\n "url": {\n "description": "Explicit source-map URL context used to resolve original source names",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "path",\n "url"\n ],\n "type": "object"\n }\n },\n "required": [\n "manifest_path",\n "script_index",\n "source_map",\n "generated_position"\n ],\n "type": "object"\n },\n "kind": "application",\n "name": "trace_web_source_location",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "diagnostics": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "engine": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "version"\n ],\n "type": "object"\n },\n "execution": {\n "const": "unknown",\n "type": "string"\n },\n "format": {\n "enum": [\n "regular",\n "indexed"\n ],\n "type": "string"\n },\n "generated_offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "lookup": {\n "additionalProperties": false,\n "properties": {\n "location_units": {\n "const": "one-based lines; zero-based UTF-16 columns",\n "type": "string"\n },\n "matched_generated_position": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "line",\n "column"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "requested": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "line",\n "column"\n ],\n "type": "object"\n },\n "semantics": {\n "const": "greatest generated position <= requested, across lines; all equal-position segments",\n "type": "string"\n }\n },\n "required": [\n "requested",\n "matched_generated_position",\n "semantics",\n "location_units"\n ],\n "type": "object"\n },\n "manifest": {\n "additionalProperties": false,\n "properties": {\n "bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "capture_completeness": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "attach_limited_sections": {\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "conditions": {\n "items": {\n "enum": [\n "complete_within_window",\n "policy_filtered",\n "attach_limited",\n "truncated"\n ],\n "type": "string"\n },\n "maxItems": 3,\n "minItems": 1,\n "type": "array"\n },\n "dropped_events": {\n "additionalProperties": false,\n "properties": {\n "console_events": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "network_requests": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "scripts": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "timeline_events": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "total": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "webmcp_tools": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "websocket_connections": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "websocket_frames": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "scripts",\n "network_requests",\n "console_events",\n "websocket_connections",\n "websocket_frames",\n "webmcp_tools",\n "timeline_events",\n "total"\n ],\n "type": "object"\n },\n "excluded": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "reason": {\n "enum": [\n "disallowed_origin",\n "unsupported_url",\n "unattributed_origin",\n "not_approved",\n "out_of_target_scope",\n "provider_unavailable",\n "invalid_protocol_value"\n ],\n "type": "string"\n },\n "section": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n }\n },\n "required": [\n "section",\n "reason",\n "count"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "policy_filtered_sections": {\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "status": {\n "enum": [\n "complete_within_window",\n "policy_filtered",\n "attach_limited",\n "truncated"\n ],\n "type": "string"\n },\n "truncated_sections": {\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "unavailable_sections": {\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n }\n },\n "required": [\n "status",\n "conditions",\n "policy_filtered_sections",\n "attach_limited_sections",\n "truncated_sections",\n "unavailable_sections",\n "excluded",\n "dropped_events"\n ],\n "type": "object"\n },\n {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "equality_eligible": {\n "const": true,\n "type": "boolean"\n },\n "missing_sections": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "status": {\n "const": "complete",\n "type": "string"\n },\n "truncated_sections": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n }\n },\n "required": [\n "status",\n "equality_eligible",\n "missing_sections",\n "truncated_sections"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "equality_eligible": {\n "const": false,\n "type": "boolean"\n },\n "missing_sections": {\n "items": {\n "enum": [\n "action",\n "screenshot",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage",\n "events",\n "frames",\n "workers",\n "popups",\n "websockets"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "status": {\n "const": "incomplete",\n "type": "string"\n },\n "truncated_sections": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n }\n },\n "required": [\n "status",\n "equality_eligible",\n "missing_sections",\n "truncated_sections"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "equality_eligible": {\n "const": false,\n "type": "boolean"\n },\n "missing_sections": {\n "items": {\n "enum": [\n "action",\n "screenshot",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage",\n "events",\n "frames",\n "workers",\n "popups",\n "websockets"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "status": {\n "const": "truncated",\n "type": "string"\n },\n "truncated_sections": {\n "items": {\n "enum": [\n "action",\n "screenshot",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage",\n "events",\n "frames",\n "workers",\n "popups",\n "websockets"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "status",\n "equality_eligible",\n "missing_sections",\n "truncated_sections"\n ],\n "type": "object"\n }\n ]\n }\n ]\n },\n "capture_kind": {\n "enum": [\n "page-inspection",\n "browser-scenario"\n ],\n "type": "string"\n },\n "capture_path": {\n "minLength": 1,\n "type": "string"\n },\n "capture_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n },\n "reported_output_directory": {\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "source_evidence_id": {\n "anyOf": [\n {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "path",\n "sha256",\n "bytes",\n "reported_output_directory",\n "capture_path",\n "capture_sha256",\n "capture_kind",\n "capture_completeness",\n "source_evidence_id"\n ],\n "type": "object"\n },\n "matches": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "generated-only",\n "type": "string"\n }\n },\n "required": [\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "content": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "representation": {\n "const": "UTF-8 encoding of decoded sourcesContent text",\n "type": "string"\n },\n "state": {\n "const": "embedded",\n "type": "string"\n },\n "text": {\n "type": "string"\n },\n "utf8_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "utf8_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "state",\n "text",\n "utf8_sha256",\n "utf8_bytes",\n "representation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "const": "sourcesContent-not-retained",\n "type": "string"\n },\n "state": {\n "const": "unavailable",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason"\n ],\n "type": "object"\n }\n ]\n },\n "flattened_source_index": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "ignored": {\n "type": "boolean"\n },\n "name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "original_position": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "content_position": {\n "enum": [\n "verified-in-embedded-text",\n "outside-embedded-text",\n "content-unavailable"\n ],\n "type": "string"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "offset": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "line",\n "column",\n "offset",\n "content_position"\n ],\n "type": "object"\n },\n "reported_source": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "reported_source_root": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "resolved_url": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "section_path": {\n "items": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "type": "array"\n },\n "source_index": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "state": {\n "const": "mapped",\n "type": "string"\n }\n },\n "required": [\n "state",\n "flattened_source_index",\n "section_path",\n "source_index",\n "reported_source",\n "reported_source_root",\n "resolved_url",\n "ignored",\n "content",\n "original_position",\n "name"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "reported_file": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "runtime": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "v8_heap_limit_bytes": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "version",\n "v8_heap_limit_bytes"\n ],\n "type": "object"\n },\n "source": {\n "additionalProperties": false,\n "properties": {\n "bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n },\n "script": {\n "additionalProperties": false,\n "properties": {\n "content": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "layout": {\n "enum": [\n "url-path",\n "isolated"\n ],\n "type": "string"\n },\n "layout_reason": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "media_type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "redacted": {\n "anyOf": [\n {\n "type": "boolean"\n },\n {\n "type": "null"\n }\n ]\n },\n "relative_path": {\n "minLength": 1,\n "type": "string"\n },\n "representation": {\n "enum": [\n "debugger-source-utf8",\n "browser-decoded-response-bytes"\n ],\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "state": {\n "const": "exported",\n "type": "string"\n }\n },\n "required": [\n "state",\n "relative_path",\n "layout",\n "layout_reason",\n "sha256",\n "bytes",\n "media_type",\n "redacted",\n "representation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "minLength": 1,\n "type": "string"\n },\n "state": {\n "const": "unavailable",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason",\n "message"\n ],\n "type": "object"\n }\n ]\n },\n "source": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "frame_id": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "is_module": {\n "type": "boolean"\n },\n "kind": {\n "const": "page-script",\n "type": "string"\n },\n "language": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "script_key": {\n "minLength": 1,\n "type": "string"\n },\n "source_map_url": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "kind",\n "script_key",\n "frame_id",\n "is_module",\n "language",\n "source_map_url"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "scenario-response",\n "type": "string"\n },\n "request_sequence": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "response_sequence": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "anyOf": [\n {\n "type": "number"\n },\n {\n "type": "null"\n }\n ]\n },\n "transaction_id": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "kind",\n "transaction_id",\n "request_sequence",\n "response_sequence",\n "status"\n ],\n "type": "object"\n }\n ]\n },\n "url": {\n "type": "string"\n }\n },\n "required": [\n "source",\n "url",\n "content"\n ],\n "type": "object"\n },\n "script_index": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "path",\n "sha256",\n "bytes",\n "script_index",\n "script"\n ],\n "type": "object"\n },\n "source_authenticity": {\n "const": "unknown",\n "type": "string"\n },\n "source_map": {\n "additionalProperties": false,\n "properties": {\n "association": {\n "const": "caller-selected",\n "type": "string"\n },\n "bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "url": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "path",\n "sha256",\n "bytes",\n "url",\n "association"\n ],\n "type": "object"\n },\n "source_map_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "url_context": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "source_map_sha256",\n "url_context",\n "engine",\n "runtime",\n "format",\n "reported_file",\n "lookup",\n "matches",\n "diagnostics",\n "manifest",\n "source",\n "source_map",\n "generated_offset",\n "source_authenticity",\n "execution",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Trace Web Source Location"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": true,\n "readOnlyHint": false\n },\n "description": "Trace one exported website script\'s outgoing native ES imports/re-exports, using exact URL and optional selected import-map context. Reads a local export_web_scripts manifest and verifies the selected source\'s SHA-256/size; returns source positions, native resolved URLs or exact errors, every matching captured candidate and explicit unknown execution. Query/fragment identities are preserved. Computed imports and bundler IDs remain unknown. Select importer_url for unknown inline/document-base context. Caller-supplied Chromium executes only a trusted REA resolver stub in an owned context with page requests locally fulfilled/blocked; no captured application execution or asset refetch. Requires absolute REA_BROWSER_EXECUTABLE for literal imports. 32 MiB manifest, 16 MiB source, 4 MiB map and 20-second native deadline; cleanup may extend the deadline.",\n "effects": {\n "accessesNetwork": true,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": true,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": true\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "import_map": {\n "base_url": "https://example.test/app/",\n "path": "/analysis/import-map.json"\n },\n "manifest_path": "/analysis/exported-scripts/manifest.json",\n "script_index": 0\n }\n ],\n "properties": {\n "import_map": {\n "additionalProperties": false,\n "description": "Value for import map.",\n "properties": {\n "base_url": {\n "description": "Explicit HTTP(S) base for the selected map",\n "minLength": 1,\n "type": "string"\n },\n "path": {\n "description": "Absolute local import-map JSON path; no fetch",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "path",\n "base_url"\n ],\n "type": "object"\n },\n "importer_url": {\n "description": "Explicit HTTP(S) module URL; useful when captured inline/base context is unknown",\n "minLength": 1,\n "type": "string"\n },\n "manifest_path": {\n "description": "Absolute path to an export_web_scripts manifest",\n "minLength": 1,\n "type": "string"\n },\n "script_index": {\n "description": "Zero-based index in manifest.scripts",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "manifest_path",\n "script_index"\n ],\n "type": "object"\n },\n "kind": "application",\n "name": "trace_web_module_imports",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "diagnostics": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "engine": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "version"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "import_map": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "base_url": {\n "minLength": 1,\n "type": "string"\n },\n "bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "path",\n "sha256",\n "bytes",\n "base_url"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "importer": {\n "additionalProperties": false,\n "properties": {\n "basis": {\n "enum": [\n "caller-selected",\n "reported-source-url"\n ],\n "type": "string"\n },\n "url": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "url",\n "basis"\n ],\n "type": "object"\n },\n "imports": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "captured_candidates": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "match": {\n "enum": [\n "exact-reported-url",\n "response-url-without-fragment"\n ],\n "type": "string"\n },\n "script": {\n "additionalProperties": false,\n "properties": {\n "content": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "layout": {\n "enum": [\n "url-path",\n "isolated"\n ],\n "type": "string"\n },\n "layout_reason": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "media_type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "redacted": {\n "anyOf": [\n {\n "type": "boolean"\n },\n {\n "type": "null"\n }\n ]\n },\n "relative_path": {\n "minLength": 1,\n "type": "string"\n },\n "representation": {\n "enum": [\n "debugger-source-utf8",\n "browser-decoded-response-bytes"\n ],\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "state": {\n "const": "exported",\n "type": "string"\n }\n },\n "required": [\n "state",\n "relative_path",\n "layout",\n "layout_reason",\n "sha256",\n "bytes",\n "media_type",\n "redacted",\n "representation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "minLength": 1,\n "type": "string"\n },\n "state": {\n "const": "unavailable",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason",\n "message"\n ],\n "type": "object"\n }\n ]\n },\n "source": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "frame_id": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "is_module": {\n "type": "boolean"\n },\n "kind": {\n "const": "page-script",\n "type": "string"\n },\n "language": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "script_key": {\n "minLength": 1,\n "type": "string"\n },\n "source_map_url": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "kind",\n "script_key",\n "frame_id",\n "is_module",\n "language",\n "source_map_url"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "scenario-response",\n "type": "string"\n },\n "request_sequence": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "response_sequence": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "anyOf": [\n {\n "type": "number"\n },\n {\n "type": "null"\n }\n ]\n },\n "transaction_id": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "kind",\n "transaction_id",\n "request_sequence",\n "response_sequence",\n "status"\n ],\n "type": "object"\n }\n ]\n },\n "url": {\n "type": "string"\n }\n },\n "required": [\n "source",\n "url",\n "content"\n ],\n "type": "object"\n },\n "script_index": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "script_index",\n "match",\n "script"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "end": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "offset",\n "line",\n "column"\n ],\n "type": "object"\n },\n "execution": {\n "const": "unknown",\n "type": "string"\n },\n "expression": {\n "type": "string"\n },\n "kind": {\n "enum": [\n "static-import",\n "re-export",\n "dynamic-import"\n ],\n "type": "string"\n },\n "resolution": {\n "anyOf": [\n {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "resolved",\n "type": "string"\n },\n "url": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "state",\n "url"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "message": {\n "type": "string"\n },\n "state": {\n "const": "rejected",\n "type": "string"\n }\n },\n "required": [\n "state",\n "message"\n ],\n "type": "object"\n }\n ]\n },\n {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "const": "computed-specifier",\n "type": "string"\n },\n "state": {\n "const": "unknown",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason"\n ],\n "type": "object"\n }\n ]\n },\n "specifier": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "start": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "offset",\n "line",\n "column"\n ],\n "type": "object"\n }\n },\n "required": [\n "kind",\n "specifier",\n "expression",\n "start",\n "end",\n "resolution",\n "captured_candidates",\n "execution"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "manifest": {\n "additionalProperties": false,\n "properties": {\n "bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "capture_completeness": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "attach_limited_sections": {\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "conditions": {\n "items": {\n "enum": [\n "complete_within_window",\n "policy_filtered",\n "attach_limited",\n "truncated"\n ],\n "type": "string"\n },\n "maxItems": 3,\n "minItems": 1,\n "type": "array"\n },\n "dropped_events": {\n "additionalProperties": false,\n "properties": {\n "console_events": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "network_requests": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "scripts": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "timeline_events": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "total": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "webmcp_tools": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "websocket_connections": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "websocket_frames": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "scripts",\n "network_requests",\n "console_events",\n "websocket_connections",\n "websocket_frames",\n "webmcp_tools",\n "timeline_events",\n "total"\n ],\n "type": "object"\n },\n "excluded": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "reason": {\n "enum": [\n "disallowed_origin",\n "unsupported_url",\n "unattributed_origin",\n "not_approved",\n "out_of_target_scope",\n "provider_unavailable",\n "invalid_protocol_value"\n ],\n "type": "string"\n },\n "section": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n }\n },\n "required": [\n "section",\n "reason",\n "count"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "policy_filtered_sections": {\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "status": {\n "enum": [\n "complete_within_window",\n "policy_filtered",\n "attach_limited",\n "truncated"\n ],\n "type": "string"\n },\n "truncated_sections": {\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "unavailable_sections": {\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n }\n },\n "required": [\n "status",\n "conditions",\n "policy_filtered_sections",\n "attach_limited_sections",\n "truncated_sections",\n "unavailable_sections",\n "excluded",\n "dropped_events"\n ],\n "type": "object"\n },\n {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "equality_eligible": {\n "const": true,\n "type": "boolean"\n },\n "missing_sections": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "status": {\n "const": "complete",\n "type": "string"\n },\n "truncated_sections": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n }\n },\n "required": [\n "status",\n "equality_eligible",\n "missing_sections",\n "truncated_sections"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "equality_eligible": {\n "const": false,\n "type": "boolean"\n },\n "missing_sections": {\n "items": {\n "enum": [\n "action",\n "screenshot",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage",\n "events",\n "frames",\n "workers",\n "popups",\n "websockets"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "status": {\n "const": "incomplete",\n "type": "string"\n },\n "truncated_sections": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n }\n },\n "required": [\n "status",\n "equality_eligible",\n "missing_sections",\n "truncated_sections"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "equality_eligible": {\n "const": false,\n "type": "boolean"\n },\n "missing_sections": {\n "items": {\n "enum": [\n "action",\n "screenshot",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage",\n "events",\n "frames",\n "workers",\n "popups",\n "websockets"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "status": {\n "const": "truncated",\n "type": "string"\n },\n "truncated_sections": {\n "items": {\n "enum": [\n "action",\n "screenshot",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage",\n "events",\n "frames",\n "workers",\n "popups",\n "websockets"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "status",\n "equality_eligible",\n "missing_sections",\n "truncated_sections"\n ],\n "type": "object"\n }\n ]\n }\n ]\n },\n "capture_kind": {\n "enum": [\n "page-inspection",\n "browser-scenario"\n ],\n "type": "string"\n },\n "capture_path": {\n "minLength": 1,\n "type": "string"\n },\n "capture_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n },\n "reported_output_directory": {\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "source_evidence_id": {\n "anyOf": [\n {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "path",\n "sha256",\n "bytes",\n "reported_output_directory",\n "capture_path",\n "capture_sha256",\n "capture_kind",\n "capture_completeness",\n "source_evidence_id"\n ],\n "type": "object"\n },\n "parser": {\n "additionalProperties": false,\n "properties": {\n "diagnostics": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "location_units": {\n "const": "UTF-16 offsets and columns; one-based lines",\n "type": "string"\n },\n "state": {\n "enum": [\n "parsed",\n "unparseable"\n ],\n "type": "string"\n }\n },\n "required": [\n "state",\n "diagnostics",\n "location_units"\n ],\n "type": "object"\n },\n "source": {\n "additionalProperties": false,\n "properties": {\n "bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n },\n "script": {\n "additionalProperties": false,\n "properties": {\n "content": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "layout": {\n "enum": [\n "url-path",\n "isolated"\n ],\n "type": "string"\n },\n "layout_reason": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "media_type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "redacted": {\n "anyOf": [\n {\n "type": "boolean"\n },\n {\n "type": "null"\n }\n ]\n },\n "relative_path": {\n "minLength": 1,\n "type": "string"\n },\n "representation": {\n "enum": [\n "debugger-source-utf8",\n "browser-decoded-response-bytes"\n ],\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "state": {\n "const": "exported",\n "type": "string"\n }\n },\n "required": [\n "state",\n "relative_path",\n "layout",\n "layout_reason",\n "sha256",\n "bytes",\n "media_type",\n "redacted",\n "representation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "minLength": 1,\n "type": "string"\n },\n "state": {\n "const": "unavailable",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason",\n "message"\n ],\n "type": "object"\n }\n ]\n },\n "source": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "frame_id": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "is_module": {\n "type": "boolean"\n },\n "kind": {\n "const": "page-script",\n "type": "string"\n },\n "language": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "script_key": {\n "minLength": 1,\n "type": "string"\n },\n "source_map_url": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "kind",\n "script_key",\n "frame_id",\n "is_module",\n "language",\n "source_map_url"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "scenario-response",\n "type": "string"\n },\n "request_sequence": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "response_sequence": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "anyOf": [\n {\n "type": "number"\n },\n {\n "type": "null"\n }\n ]\n },\n "transaction_id": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "kind",\n "transaction_id",\n "request_sequence",\n "response_sequence",\n "status"\n ],\n "type": "object"\n }\n ]\n },\n "url": {\n "type": "string"\n }\n },\n "required": [\n "source",\n "url",\n "content"\n ],\n "type": "object"\n },\n "script_index": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "path",\n "sha256",\n "bytes",\n "script_index",\n "script"\n ],\n "type": "object"\n }\n },\n "required": [\n "manifest",\n "source",\n "importer",\n "import_map",\n "parser",\n "engine",\n "imports",\n "diagnostics",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Trace Web Module Imports"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": false,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Export JavaScript bytes already retained in one local inspect_web_page or capture_browser_scenario JSON capture (normalized result or complete Evidence). Writes scripts and a digest-verified manifest into an absent absolute output_directory. Returns all source URLs, script or transaction/event references, unavailable states, and an analysis_input for analyze_javascript_application when any bytes were exported. Include script sources in inspect_web_page or select capture.network.response_body in scenarios. No refetch or execution. Safe unambiguous URL layouts preserve relative module paths; versions, query variants, inline scripts, and path collisions are isolated with explicit resolution limitations.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": false,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": true\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "capture_path": "/analysis/capture.json",\n "output_directory": "/analysis/exported-scripts"\n }\n ],\n "properties": {\n "capture_path": {\n "description": "Absolute filesystem path to saved inspect_web_page or capture_browser_scenario JSON, normalized result or complete Evidence",\n "minLength": 1,\n "type": "string"\n },\n "output_directory": {\n "description": "Absolute absent filesystem directory for verified scripts and manifest; parent directory must exist",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "capture_path",\n "output_directory"\n ],\n "type": "object"\n },\n "kind": "application",\n "name": "export_web_scripts",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "analysis_input": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "format": {\n "const": "directory",\n "type": "string"\n },\n "input_path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "input_path",\n "format"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "capture_completeness": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "attach_limited_sections": {\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "conditions": {\n "items": {\n "enum": [\n "complete_within_window",\n "policy_filtered",\n "attach_limited",\n "truncated"\n ],\n "type": "string"\n },\n "maxItems": 3,\n "minItems": 1,\n "type": "array"\n },\n "dropped_events": {\n "additionalProperties": false,\n "properties": {\n "console_events": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "network_requests": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "scripts": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "timeline_events": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "total": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "webmcp_tools": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "websocket_connections": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "websocket_frames": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "scripts",\n "network_requests",\n "console_events",\n "websocket_connections",\n "websocket_frames",\n "webmcp_tools",\n "timeline_events",\n "total"\n ],\n "type": "object"\n },\n "excluded": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "reason": {\n "enum": [\n "disallowed_origin",\n "unsupported_url",\n "unattributed_origin",\n "not_approved",\n "out_of_target_scope",\n "provider_unavailable",\n "invalid_protocol_value"\n ],\n "type": "string"\n },\n "section": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n }\n },\n "required": [\n "section",\n "reason",\n "count"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "policy_filtered_sections": {\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "status": {\n "enum": [\n "complete_within_window",\n "policy_filtered",\n "attach_limited",\n "truncated"\n ],\n "type": "string"\n },\n "truncated_sections": {\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "unavailable_sections": {\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n }\n },\n "required": [\n "status",\n "conditions",\n "policy_filtered_sections",\n "attach_limited_sections",\n "truncated_sections",\n "unavailable_sections",\n "excluded",\n "dropped_events"\n ],\n "type": "object"\n },\n {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "equality_eligible": {\n "const": true,\n "type": "boolean"\n },\n "missing_sections": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "status": {\n "const": "complete",\n "type": "string"\n },\n "truncated_sections": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n }\n },\n "required": [\n "status",\n "equality_eligible",\n "missing_sections",\n "truncated_sections"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "equality_eligible": {\n "const": false,\n "type": "boolean"\n },\n "missing_sections": {\n "items": {\n "enum": [\n "action",\n "screenshot",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage",\n "events",\n "frames",\n "workers",\n "popups",\n "websockets"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "status": {\n "const": "incomplete",\n "type": "string"\n },\n "truncated_sections": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n }\n },\n "required": [\n "status",\n "equality_eligible",\n "missing_sections",\n "truncated_sections"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "equality_eligible": {\n "const": false,\n "type": "boolean"\n },\n "missing_sections": {\n "items": {\n "enum": [\n "action",\n "screenshot",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage",\n "events",\n "frames",\n "workers",\n "popups",\n "websockets"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "status": {\n "const": "truncated",\n "type": "string"\n },\n "truncated_sections": {\n "items": {\n "enum": [\n "action",\n "screenshot",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage",\n "events",\n "frames",\n "workers",\n "popups",\n "websockets"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "status",\n "equality_eligible",\n "missing_sections",\n "truncated_sections"\n ],\n "type": "object"\n }\n ]\n }\n ]\n },\n "capture_kind": {\n "enum": [\n "page-inspection",\n "browser-scenario"\n ],\n "type": "string"\n },\n "capture_path": {\n "minLength": 1,\n "type": "string"\n },\n "capture_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "manifest": {\n "additionalProperties": false,\n "properties": {\n "bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "path",\n "sha256",\n "bytes"\n ],\n "type": "object"\n },\n "output_directory": {\n "minLength": 1,\n "type": "string"\n },\n "scripts": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "content": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "layout": {\n "enum": [\n "url-path",\n "isolated"\n ],\n "type": "string"\n },\n "layout_reason": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "media_type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "redacted": {\n "anyOf": [\n {\n "type": "boolean"\n },\n {\n "type": "null"\n }\n ]\n },\n "relative_path": {\n "minLength": 1,\n "type": "string"\n },\n "representation": {\n "enum": [\n "debugger-source-utf8",\n "browser-decoded-response-bytes"\n ],\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "state": {\n "const": "exported",\n "type": "string"\n }\n },\n "required": [\n "state",\n "relative_path",\n "layout",\n "layout_reason",\n "sha256",\n "bytes",\n "media_type",\n "redacted",\n "representation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "minLength": 1,\n "type": "string"\n },\n "state": {\n "const": "unavailable",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason",\n "message"\n ],\n "type": "object"\n }\n ]\n },\n "source": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "frame_id": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "is_module": {\n "type": "boolean"\n },\n "kind": {\n "const": "page-script",\n "type": "string"\n },\n "language": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "script_key": {\n "minLength": 1,\n "type": "string"\n },\n "source_map_url": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "kind",\n "script_key",\n "frame_id",\n "is_module",\n "language",\n "source_map_url"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "scenario-response",\n "type": "string"\n },\n "request_sequence": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "response_sequence": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "anyOf": [\n {\n "type": "number"\n },\n {\n "type": "null"\n }\n ]\n },\n "transaction_id": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "kind",\n "transaction_id",\n "request_sequence",\n "response_sequence",\n "status"\n ],\n "type": "object"\n }\n ]\n },\n "url": {\n "type": "string"\n }\n },\n "required": [\n "source",\n "url",\n "content"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "source_evidence_id": {\n "anyOf": [\n {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "capture_path",\n "capture_sha256",\n "capture_kind",\n "source_evidence_id",\n "capture_completeness",\n "output_directory",\n "analysis_input",\n "scripts",\n "limitations",\n "manifest"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Export Web Scripts"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": false,\n "openWorldHint": true,\n "readOnlyHint": false\n },\n "description": "Recover readable modules from one local UTF-8 JavaScript script/bundle into an absent directory, using caller-supplied Wakaru 1.13.0 on Linux x64. Returns original/derived digests, extraction byte ranges, emitted source maps, warnings and analysis_input inline. Structural splitting may fall back to one module; original names and runtime equivalence remain unknown. No application code execution. Requires util-linux prlimit; one worker, 1 GiB address-space ceiling, 120-second deadline, 64 MiB input, 128 MiB output, 10000 entries and 8 MiB per diagnostic/report stream.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": false,\n "launchesProcess": true,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": true\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "output_directory": "/tmp/recovered-app",\n "path": "/tmp/web-scripts/app.js"\n }\n ],\n "properties": {\n "extraction_mode": {\n "default": "structural",\n "description": "Structural module boundaries, heuristic fallback, or finer inspection-only regions",\n "enum": [\n "structural",\n "heuristic",\n "inspection"\n ],\n "type": "string"\n },\n "output_directory": {\n "description": "Absolute absent output directory; parent must exist",\n "minLength": 1,\n "type": "string"\n },\n "path": {\n "description": "Absolute path to a UTF-8 JavaScript file; never executed",\n "minLength": 1,\n "type": "string"\n },\n "rewrite_level": {\n "default": "standard",\n "description": "Upstream syntax recovery level; runtime equivalence remains unverified",\n "enum": [\n "minimal",\n "standard",\n "aggressive"\n ],\n "type": "string"\n }\n },\n "required": [\n "path",\n "output_directory"\n ],\n "type": "object"\n },\n "kind": "application",\n "name": "recover_javascript_sources",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "analysis_input": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "format": {\n "const": "directory",\n "type": "string"\n },\n "input_path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "input_path",\n "format"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "detected_formats": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "engine": {\n "additionalProperties": false,\n "properties": {\n "audited_source_revision": {\n "minLength": 1,\n "type": "string"\n },\n "executable": {\n "additionalProperties": false,\n "properties": {\n "bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "path",\n "sha256",\n "bytes"\n ],\n "type": "object"\n },\n "executed_source_revision": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "version",\n "executable",\n "audited_source_revision",\n "executed_source_revision"\n ],\n "type": "object"\n },\n "failed": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "manifest": {\n "additionalProperties": false,\n "properties": {\n "bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "path",\n "sha256",\n "bytes"\n ],\n "type": "object"\n },\n "modules": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "artifact": {\n "additionalProperties": false,\n "properties": {\n "bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "path",\n "sha256",\n "bytes"\n ],\n "type": "object"\n },\n "provenance": {\n "additionalProperties": false,\n "properties": {\n "byte_ranges": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "start",\n "end"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "context_byte_ranges": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "start",\n "end"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "extraction": {\n "type": "string"\n },\n "original_path": {\n "type": "string"\n },\n "original_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "range_semantics": {\n "const": "half-open-utf8-bytes",\n "type": "string"\n },\n "reported_input": {\n "type": "string"\n }\n },\n "required": [\n "reported_input",\n "original_path",\n "original_sha256",\n "extraction",\n "byte_ranges",\n "context_byte_ranges",\n "range_semantics"\n ],\n "type": "object"\n },\n "reported_filename": {\n "minLength": 1,\n "type": "string"\n },\n "reported_status": {\n "minLength": 1,\n "type": "string"\n },\n "source_map": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "path",\n "sha256",\n "bytes"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "reported_filename",\n "reported_status",\n "artifact",\n "source_map",\n "provenance"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "options": {\n "additionalProperties": false,\n "properties": {\n "extraction_mode": {\n "enum": [\n "structural",\n "heuristic",\n "inspection"\n ],\n "type": "string"\n },\n "rewrite_level": {\n "enum": [\n "minimal",\n "standard",\n "aggressive"\n ],\n "type": "string"\n }\n },\n "required": [\n "extraction_mode",\n "rewrite_level"\n ],\n "type": "object"\n },\n "provenance": {\n "additionalProperties": false,\n "properties": {\n "bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "path",\n "sha256",\n "bytes"\n ],\n "type": "object"\n },\n "report": {\n "additionalProperties": false,\n "properties": {\n "bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "path",\n "sha256",\n "bytes"\n ],\n "type": "object"\n },\n "reported_format": {\n "type": "string"\n },\n "reported_safety": {\n "type": "string"\n },\n "reported_strategy": {\n "type": "string"\n },\n "runtime_equivalence": {\n "const": "unknown",\n "type": "string"\n },\n "source": {\n "additionalProperties": false,\n "properties": {\n "bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n },\n "published_copy": {\n "additionalProperties": false,\n "properties": {\n "bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "path",\n "sha256",\n "bytes"\n ],\n "type": "object"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "snapshot_path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "path",\n "sha256",\n "bytes",\n "snapshot_path",\n "published_copy"\n ],\n "type": "object"\n },\n "status": {\n "enum": [\n "complete",\n "partial"\n ],\n "type": "string"\n },\n "total": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "warnings": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "filename": {\n "type": "string"\n },\n "is_error": {\n "type": "boolean"\n },\n "kind": {\n "type": "string"\n },\n "message": {\n "type": "string"\n }\n },\n "required": [\n "filename",\n "kind",\n "is_error",\n "message"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "source",\n "engine",\n "options",\n "status",\n "detected_formats",\n "reported_safety",\n "reported_strategy",\n "reported_format",\n "total",\n "failed",\n "modules",\n "warnings",\n "report",\n "provenance",\n "manifest",\n "analysis_input",\n "runtime_equivalence",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Recover Javascript Sources"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": true,\n "readOnlyHint": false\n },\n "description": "Open a local executable, application bundle, archive, JavaScript, source map, plist, or analysis database after validation. format=dos-com explicitly interprets 1..65280 headerless bytes as a DOS COM analysis image; omission preserves header-based detection. 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 analysis snapshot is imported atomically and must match the binary identity, concrete provider, and canonical analysis profile exactly.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": true,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {\n "path": "/tmp/fixture"\n }\n ],\n "properties": {\n "format": {\n "const": "dos-com",\n "description": "Explicit headerless DOS COM interpretation; omission preserves header-based detection",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "provider_id": {\n "anyOf": [\n {\n "const": "auto",\n "type": "string"\n },\n {\n "minLength": 1,\n "pattern": "^[a-z][a-z0-9-]*$",\n "type": "string"\n }\n ],\n "description": "Exact deep-analysis provider ID, or automatic selection when omitted."\n },\n "snapshot_path": {\n "description": "Local filesystem path for snapshot.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "path"\n ],\n "type": "object"\n },\n "kind": "session",\n "name": "open_binary",\n "outputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "result": {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map"\n ],\n "type": "string"\n },\n "kind": {\n "enum": [\n "executable",\n "database",\n "archive",\n "artifact"\n ],\n "type": "string"\n },\n "loaderArgs": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "path": {\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "path",\n "format",\n "kind",\n "loaderArgs",\n "sha256",\n "architecture"\n ],\n "type": "object"\n }\n },\n "required": [\n "result"\n ],\n "type": "object"\n },\n "requiresSession": true,\n "title": "Open Binary"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": true,\n "idempotentHint": false,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Optionally write a provider-neutral analysis snapshot atomically to the caller-supplied path, then close the active target and every provider resource started for it. Existing files require explicit overwrite; a failed save leaves the session open so cached analysis is not lost.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": false,\n "launchesProcess": false,\n "mayDiscardData": true,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": true\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {\n "overwrite": false\n }\n ],\n "properties": {\n "overwrite": {\n "default": false,\n "description": "Whether an existing destination may be replaced.",\n "type": "boolean"\n },\n "snapshot_path": {\n "description": "Local filesystem path for snapshot.",\n "minLength": 1,\n "type": "string"\n }\n },\n "type": "object"\n },\n "kind": "session",\n "name": "close_binary",\n "outputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "result": {\n "anyOf": [\n {\n "type": "null"\n },\n {\n "additionalProperties": false,\n "properties": {\n "bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "entries": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "type": "string"\n }\n },\n "required": [\n "path",\n "bytes",\n "entries"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "result"\n ],\n "type": "object"\n },\n "requiresSession": true,\n "title": "Close Binary"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": true\n },\n "description": "Report the complete current target, provider, capability availability, client-feature, analysis, and server-identity status without starting analysis.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": false,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {}\n ],\n "properties": {\n "expected_catalog_digest": {\n "description": "Expected catalog digest used to reject stale or mismatched input.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "expected_package_version": {\n "description": "Expected package version used to reject stale or mismatched input.",\n "minLength": 1,\n "type": "string"\n },\n "expected_server_path": {\n "description": "Expected server path used to reject stale or mismatched input.",\n "minLength": 1,\n "type": "string"\n }\n },\n "type": "object"\n },\n "kind": "session",\n "name": "binary_session",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n },\n "__schema1": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema1"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema1"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "result": {\n "anyOf": [\n {\n "anyOf": [\n {\n "additionalProperties": {},\n "properties": {\n "analysis_activity": {\n "additionalProperties": false,\n "properties": {\n "providers": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "active": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "caller_state": {\n "enum": [\n "waiting",\n "cancelled"\n ],\n "type": "string"\n },\n "elapsed_ms": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "request_id": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "request_id",\n "operation",\n "elapsed_ms",\n "caller_state"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "type": "string"\n },\n "name": {\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "queued_requests": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "provider",\n "active",\n "queued_requests"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "status": {\n "enum": [\n "not_observed",\n "idle",\n "busy"\n ],\n "type": "string"\n }\n },\n "required": [\n "status",\n "providers"\n ],\n "type": "object"\n },\n "analysis_provider_binding": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "type": "string"\n },\n "name": {\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "selection_source": {\n "enum": [\n "request",\n "environment",\n "auto-single-candidate"\n ],\n "type": "string"\n }\n },\n "required": [\n "provider",\n "selection_source",\n "analysis_profile"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "analysis_provider_candidates": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "availability": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "code": {\n "type": "null"\n },\n "diagnostics": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "reason": {\n "type": "null"\n },\n "status": {\n "const": "available",\n "type": "string"\n }\n },\n "required": [\n "status",\n "code",\n "reason",\n "diagnostics"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "code": {\n "enum": [\n "not_configured",\n "executable_missing",\n "runtime_missing",\n "unsupported_host",\n "unsupported_version",\n "target_kind_unsupported",\n "target_format_unsupported",\n "architecture_unsupported",\n "target_role_unsupported",\n "managed_target_unsupported",\n "open_options_invalid",\n "version_unresolved"\n ],\n "type": "string"\n },\n "diagnostics": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "reason": {\n "minLength": 1,\n "type": "string"\n },\n "status": {\n "const": "unavailable",\n "type": "string"\n }\n },\n "required": [\n "status",\n "code",\n "reason",\n "diagnostics"\n ],\n "type": "object"\n }\n ]\n },\n "capabilities": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "availability_code": {\n "type": "null"\n },\n "available": {\n "const": true,\n "type": "boolean"\n },\n "effects": {\n "additionalProperties": false,\n "properties": {\n "changes_permissions": {\n "type": "boolean"\n },\n "launches_process": {\n "type": "boolean"\n },\n "may_access_network": {\n "type": "boolean"\n },\n "may_show_ui": {\n "type": "boolean"\n },\n "may_write_filesystem": {\n "type": "boolean"\n },\n "mutates_artifact": {\n "type": "boolean"\n },\n "requires_root": {\n "type": "boolean"\n }\n },\n "required": [\n "mutates_artifact",\n "launches_process",\n "may_show_ui",\n "may_access_network",\n "may_write_filesystem",\n "changes_permissions",\n "requires_root"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "operation": {\n "type": "string"\n },\n "reason": {\n "type": "null"\n }\n },\n "required": [\n "operation",\n "effects",\n "limitations",\n "available",\n "reason",\n "availability_code"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "availability_code": {\n "anyOf": [\n {\n "enum": [\n "not_configured",\n "executable_missing",\n "runtime_missing",\n "unsupported_host",\n "unsupported_version",\n "target_kind_unsupported",\n "target_format_unsupported",\n "architecture_unsupported",\n "target_role_unsupported",\n "managed_target_unsupported",\n "open_options_invalid",\n "version_unresolved"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "available": {\n "const": false,\n "type": "boolean"\n },\n "effects": {\n "additionalProperties": false,\n "properties": {\n "changes_permissions": {\n "type": "boolean"\n },\n "launches_process": {\n "type": "boolean"\n },\n "may_access_network": {\n "type": "boolean"\n },\n "may_show_ui": {\n "type": "boolean"\n },\n "may_write_filesystem": {\n "type": "boolean"\n },\n "mutates_artifact": {\n "type": "boolean"\n },\n "requires_root": {\n "type": "boolean"\n }\n },\n "required": [\n "mutates_artifact",\n "launches_process",\n "may_show_ui",\n "may_access_network",\n "may_write_filesystem",\n "changes_permissions",\n "requires_root"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "operation": {\n "type": "string"\n },\n "reason": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "operation",\n "effects",\n "limitations",\n "available",\n "reason",\n "availability_code"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "type": "string"\n },\n "name": {\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "selected": {\n "type": "boolean"\n },\n "target_support": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "code": {\n "type": "null"\n },\n "diagnostics": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "reason": {\n "minLength": 1,\n "type": "string"\n },\n "status": {\n "const": "unknown",\n "type": "string"\n }\n },\n "required": [\n "status",\n "code",\n "reason",\n "diagnostics"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "code": {\n "type": "null"\n },\n "diagnostics": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "reason": {\n "type": "null"\n },\n "status": {\n "const": "supported",\n "type": "string"\n }\n },\n "required": [\n "status",\n "code",\n "reason",\n "diagnostics"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "code": {\n "enum": [\n "target_kind_unsupported",\n "target_format_unsupported",\n "architecture_unsupported",\n "target_role_unsupported",\n "managed_target_unsupported"\n ],\n "type": "string"\n },\n "diagnostics": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "reason": {\n "minLength": 1,\n "type": "string"\n },\n "status": {\n "const": "unsupported",\n "type": "string"\n }\n },\n "required": [\n "status",\n "code",\n "reason",\n "diagnostics"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "provider",\n "availability",\n "target_support",\n "selected",\n "capabilities"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "analysis_run": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "process_lineage": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "status": {\n "const": "not_observed",\n "type": "string"\n }\n },\n "required": [\n "status"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "snapshots": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "observation": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "launcher_pid": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "observed_at": {\n "format": "date-time",\n "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))$",\n "type": "string"\n },\n "process_group_id": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "reason": {\n "minLength": 1,\n "type": "string"\n },\n "status": {\n "const": "unavailable",\n "type": "string"\n }\n },\n "required": [\n "status",\n "observed_at",\n "launcher_pid",\n "process_group_id",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "descendants": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "parent_pid": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "pid": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "process_group_id": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "pid",\n "parent_pid",\n "process_group_id"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "launcher_parent_pid": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "launcher_pid": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "observed_at": {\n "format": "date-time",\n "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))$",\n "type": "string"\n },\n "process_group_id": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "status": {\n "const": "verified",\n "type": "string"\n }\n },\n "required": [\n "status",\n "observed_at",\n "launcher_pid",\n "process_group_id",\n "launcher_parent_pid",\n "descendants"\n ],\n "type": "object"\n }\n ]\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "type": "string"\n },\n "name": {\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "observation"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "status": {\n "const": "snapshots",\n "type": "string"\n }\n },\n "required": [\n "status",\n "snapshots"\n ],\n "type": "object"\n }\n ]\n },\n "run_id": {\n "format": "uuid",\n "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)$",\n "type": "string"\n }\n },\n "required": [\n "run_id",\n "process_lineage"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "capabilities": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "availability_code": {\n "type": "null"\n },\n "available": {\n "const": true,\n "type": "boolean"\n },\n "effects": {\n "additionalProperties": false,\n "properties": {\n "changes_permissions": {\n "type": "boolean"\n },\n "launches_process": {\n "type": "boolean"\n },\n "may_access_network": {\n "type": "boolean"\n },\n "may_show_ui": {\n "type": "boolean"\n },\n "may_write_filesystem": {\n "type": "boolean"\n },\n "mutates_artifact": {\n "type": "boolean"\n },\n "requires_root": {\n "type": "boolean"\n }\n },\n "required": [\n "mutates_artifact",\n "launches_process",\n "may_show_ui",\n "may_access_network",\n "may_write_filesystem",\n "changes_permissions",\n "requires_root"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "operation": {\n "type": "string"\n },\n "reason": {\n "type": "null"\n }\n },\n "required": [\n "operation",\n "effects",\n "limitations",\n "available",\n "reason",\n "availability_code"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "availability_code": {\n "anyOf": [\n {\n "enum": [\n "not_configured",\n "executable_missing",\n "runtime_missing",\n "unsupported_host",\n "unsupported_version",\n "target_kind_unsupported",\n "target_format_unsupported",\n "architecture_unsupported",\n "target_role_unsupported",\n "managed_target_unsupported",\n "open_options_invalid",\n "version_unresolved"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "available": {\n "const": false,\n "type": "boolean"\n },\n "effects": {\n "additionalProperties": false,\n "properties": {\n "changes_permissions": {\n "type": "boolean"\n },\n "launches_process": {\n "type": "boolean"\n },\n "may_access_network": {\n "type": "boolean"\n },\n "may_show_ui": {\n "type": "boolean"\n },\n "may_write_filesystem": {\n "type": "boolean"\n },\n "mutates_artifact": {\n "type": "boolean"\n },\n "requires_root": {\n "type": "boolean"\n }\n },\n "required": [\n "mutates_artifact",\n "launches_process",\n "may_show_ui",\n "may_access_network",\n "may_write_filesystem",\n "changes_permissions",\n "requires_root"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "operation": {\n "type": "string"\n },\n "reason": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "operation",\n "effects",\n "limitations",\n "available",\n "reason",\n "availability_code"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "client_features": {\n "additionalProperties": false,\n "properties": {\n "elicitation_form": {\n "type": "boolean"\n },\n "elicitation_url": {\n "type": "boolean"\n },\n "roots": {\n "type": "boolean"\n },\n "sampling": {\n "type": "boolean"\n }\n },\n "required": [\n "elicitation_form",\n "elicitation_url",\n "roots",\n "sampling"\n ],\n "type": "object"\n },\n "open": {\n "const": false,\n "type": "boolean"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "type": "string"\n },\n "name": {\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "providers": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "type": "string"\n },\n "name": {\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "server_identity": {\n "additionalProperties": false,\n "properties": {\n "alignment": {\n "additionalProperties": false,\n "properties": {\n "reasons": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "remediation": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "state": {\n "enum": [\n "aligned",\n "mcp_server_restart_required",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "state",\n "reasons",\n "remediation"\n ],\n "type": "object"\n },\n "catalog": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema1"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "client": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "name": {\n "type": "string"\n },\n "version": {\n "type": "string"\n }\n },\n "required": [\n "name",\n "version"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "negotiated_protocol_version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "package": {\n "additionalProperties": false,\n "properties": {\n "build_commit": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "type": "string"\n },\n "root_path": {\n "type": "string"\n },\n "version": {\n "type": "string"\n }\n },\n "required": [\n "name",\n "version",\n "root_path",\n "build_commit"\n ],\n "type": "object"\n },\n "protocol_features": {\n "additionalProperties": false,\n "properties": {\n "cancellation": {\n "type": "boolean"\n },\n "elicitation": {\n "type": "boolean"\n },\n "progress": {\n "type": "boolean"\n }\n },\n "required": [\n "progress",\n "cancellation",\n "elicitation"\n ],\n "type": "object"\n },\n "sdk": {\n "additionalProperties": false,\n "properties": {\n "client_test": {\n "type": "string"\n },\n "core": {\n "type": "string"\n },\n "server": {\n "type": "string"\n }\n },\n "required": [\n "server",\n "client_test",\n "core"\n ],\n "type": "object"\n },\n "server": {\n "additionalProperties": false,\n "properties": {\n "command_path": {\n "type": "string"\n },\n "name": {\n "type": "string"\n },\n "started_at": {\n "type": "string"\n },\n "version": {\n "type": "string"\n }\n },\n "required": [\n "name",\n "version",\n "started_at",\n "command_path"\n ],\n "type": "object"\n },\n "skill": {\n "additionalProperties": false,\n "properties": {\n "expected_version": {\n "type": "string"\n },\n "name": {\n "type": "string"\n }\n },\n "required": [\n "name",\n "expected_version"\n ],\n "type": "object"\n }\n },\n "required": [\n "package",\n "server",\n "sdk",\n "negotiated_protocol_version",\n "client",\n "skill",\n "catalog",\n "protocol_features",\n "alignment"\n ],\n "type": "object"\n },\n "tool_availability": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "annotations": {\n "additionalProperties": false,\n "properties": {\n "destructive": {\n "type": "boolean"\n },\n "idempotent": {\n "type": "boolean"\n },\n "open_world": {\n "type": "boolean"\n },\n "read_only": {\n "type": "boolean"\n }\n },\n "required": [\n "read_only",\n "destructive",\n "idempotent",\n "open_world"\n ],\n "type": "object"\n },\n "available": {\n "const": true,\n "type": "boolean"\n },\n "client_requirements": {\n "additionalProperties": false,\n "properties": {\n "missing_optional": {\n "items": {\n "enum": [\n "elicitation_form",\n "elicitation_url",\n "roots",\n "sampling"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "missing_required": {\n "items": {\n "enum": [\n "elicitation_form",\n "elicitation_url",\n "roots",\n "sampling"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "optional": {\n "items": {\n "enum": [\n "elicitation_form",\n "elicitation_url",\n "roots",\n "sampling"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "required": {\n "items": {\n "enum": [\n "elicitation_form",\n "elicitation_url",\n "roots",\n "sampling"\n ],\n "type": "string"\n },\n "type": "array"\n }\n },\n "required": [\n "required",\n "optional",\n "missing_required",\n "missing_optional"\n ],\n "type": "object"\n },\n "default_mode_available": {\n "type": "boolean"\n },\n "effects": {\n "additionalProperties": false,\n "properties": {\n "accessesNetwork": {\n "type": "boolean"\n },\n "changesUiState": {\n "type": "boolean"\n },\n "idempotent": {\n "type": "boolean"\n },\n "launchesProcess": {\n "type": "boolean"\n },\n "mayDiscardData": {\n "type": "boolean"\n },\n "mutatesSession": {\n "type": "boolean"\n },\n "mutatesTarget": {\n "type": "boolean"\n },\n "writesFilesystem": {\n "type": "boolean"\n }\n },\n "required": [\n "mutatesTarget",\n "mutatesSession",\n "writesFilesystem",\n "launchesProcess",\n "accessesNetwork",\n "changesUiState",\n "mayDiscardData",\n "idempotent"\n ],\n "type": "object"\n },\n "modes": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "missing_operations": {\n "items": {\n "type": "string"\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "name": {\n "type": "string"\n },\n "remediation": {\n "type": "null"\n }\n },\n "required": [\n "name",\n "available",\n "missing_operations",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "missing_operations": {\n "items": {\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "name": {\n "type": "string"\n },\n "remediation": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "name",\n "available",\n "missing_operations",\n "remediation"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "name": {\n "type": "string"\n },\n "reason": {\n "const": "available",\n "type": "string"\n },\n "remediation": {\n "type": "null"\n },\n "surface": {\n "type": "string"\n }\n },\n "required": [\n "name",\n "surface",\n "client_requirements",\n "effects",\n "annotations",\n "available",\n "reason",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "annotations": {\n "additionalProperties": false,\n "properties": {\n "destructive": {\n "type": "boolean"\n },\n "idempotent": {\n "type": "boolean"\n },\n "open_world": {\n "type": "boolean"\n },\n "read_only": {\n "type": "boolean"\n }\n },\n "required": [\n "read_only",\n "destructive",\n "idempotent",\n "open_world"\n ],\n "type": "object"\n },\n "available": {\n "const": false,\n "type": "boolean"\n },\n "client_requirements": {\n "additionalProperties": false,\n "properties": {\n "missing_optional": {\n "items": {\n "enum": [\n "elicitation_form",\n "elicitation_url",\n "roots",\n "sampling"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "missing_required": {\n "items": {\n "enum": [\n "elicitation_form",\n "elicitation_url",\n "roots",\n "sampling"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "optional": {\n "items": {\n "enum": [\n "elicitation_form",\n "elicitation_url",\n "roots",\n "sampling"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "required": {\n "items": {\n "enum": [\n "elicitation_form",\n "elicitation_url",\n "roots",\n "sampling"\n ],\n "type": "string"\n },\n "type": "array"\n }\n },\n "required": [\n "required",\n "optional",\n "missing_required",\n "missing_optional"\n ],\n "type": "object"\n },\n "default_mode_available": {\n "type": "boolean"\n },\n "effects": {\n "additionalProperties": false,\n "properties": {\n "accessesNetwork": {\n "type": "boolean"\n },\n "changesUiState": {\n "type": "boolean"\n },\n "idempotent": {\n "type": "boolean"\n },\n "launchesProcess": {\n "type": "boolean"\n },\n "mayDiscardData": {\n "type": "boolean"\n },\n "mutatesSession": {\n "type": "boolean"\n },\n "mutatesTarget": {\n "type": "boolean"\n },\n "writesFilesystem": {\n "type": "boolean"\n }\n },\n "required": [\n "mutatesTarget",\n "mutatesSession",\n "writesFilesystem",\n "launchesProcess",\n "accessesNetwork",\n "changesUiState",\n "mayDiscardData",\n "idempotent"\n ],\n "type": "object"\n },\n "modes": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "missing_operations": {\n "items": {\n "type": "string"\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "name": {\n "type": "string"\n },\n "remediation": {\n "type": "null"\n }\n },\n "required": [\n "name",\n "available",\n "missing_operations",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "missing_operations": {\n "items": {\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "name": {\n "type": "string"\n },\n "remediation": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "name",\n "available",\n "missing_operations",\n "remediation"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "name": {\n "type": "string"\n },\n "reason": {\n "enum": [\n "client_capability_missing",\n "target_required",\n "provider_missing",\n "provider_unavailable",\n "target_unsupported",\n "unsupported_host"\n ],\n "type": "string"\n },\n "remediation": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "surface": {\n "type": "string"\n }\n },\n "required": [\n "name",\n "surface",\n "client_requirements",\n "effects",\n "annotations",\n "available",\n "reason",\n "remediation"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n }\n },\n "required": [\n "provider",\n "providers",\n "capabilities",\n "analysis_run",\n "analysis_activity",\n "analysis_provider_binding",\n "analysis_provider_candidates",\n "tool_availability",\n "client_features",\n "server_identity",\n "open"\n ],\n "type": "object"\n },\n {\n "additionalProperties": {},\n "properties": {\n "analysis_activity": {\n "additionalProperties": false,\n "properties": {\n "providers": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "active": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "caller_state": {\n "enum": [\n "waiting",\n "cancelled"\n ],\n "type": "string"\n },\n "elapsed_ms": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "request_id": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "request_id",\n "operation",\n "elapsed_ms",\n "caller_state"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "type": "string"\n },\n "name": {\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "queued_requests": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "provider",\n "active",\n "queued_requests"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "status": {\n "enum": [\n "not_observed",\n "idle",\n "busy"\n ],\n "type": "string"\n }\n },\n "required": [\n "status",\n "providers"\n ],\n "type": "object"\n },\n "analysis_provider_binding": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "type": "string"\n },\n "name": {\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "selection_source": {\n "enum": [\n "request",\n "environment",\n "auto-single-candidate"\n ],\n "type": "string"\n }\n },\n "required": [\n "provider",\n "selection_source",\n "analysis_profile"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "analysis_provider_candidates": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "availability": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "code": {\n "type": "null"\n },\n "diagnostics": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "reason": {\n "type": "null"\n },\n "status": {\n "const": "available",\n "type": "string"\n }\n },\n "required": [\n "status",\n "code",\n "reason",\n "diagnostics"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "code": {\n "enum": [\n "not_configured",\n "executable_missing",\n "runtime_missing",\n "unsupported_host",\n "unsupported_version",\n "target_kind_unsupported",\n "target_format_unsupported",\n "architecture_unsupported",\n "target_role_unsupported",\n "managed_target_unsupported",\n "open_options_invalid",\n "version_unresolved"\n ],\n "type": "string"\n },\n "diagnostics": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "reason": {\n "minLength": 1,\n "type": "string"\n },\n "status": {\n "const": "unavailable",\n "type": "string"\n }\n },\n "required": [\n "status",\n "code",\n "reason",\n "diagnostics"\n ],\n "type": "object"\n }\n ]\n },\n "capabilities": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "availability_code": {\n "type": "null"\n },\n "available": {\n "const": true,\n "type": "boolean"\n },\n "effects": {\n "additionalProperties": false,\n "properties": {\n "changes_permissions": {\n "type": "boolean"\n },\n "launches_process": {\n "type": "boolean"\n },\n "may_access_network": {\n "type": "boolean"\n },\n "may_show_ui": {\n "type": "boolean"\n },\n "may_write_filesystem": {\n "type": "boolean"\n },\n "mutates_artifact": {\n "type": "boolean"\n },\n "requires_root": {\n "type": "boolean"\n }\n },\n "required": [\n "mutates_artifact",\n "launches_process",\n "may_show_ui",\n "may_access_network",\n "may_write_filesystem",\n "changes_permissions",\n "requires_root"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "operation": {\n "type": "string"\n },\n "reason": {\n "type": "null"\n }\n },\n "required": [\n "operation",\n "effects",\n "limitations",\n "available",\n "reason",\n "availability_code"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "availability_code": {\n "anyOf": [\n {\n "enum": [\n "not_configured",\n "executable_missing",\n "runtime_missing",\n "unsupported_host",\n "unsupported_version",\n "target_kind_unsupported",\n "target_format_unsupported",\n "architecture_unsupported",\n "target_role_unsupported",\n "managed_target_unsupported",\n "open_options_invalid",\n "version_unresolved"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "available": {\n "const": false,\n "type": "boolean"\n },\n "effects": {\n "additionalProperties": false,\n "properties": {\n "changes_permissions": {\n "type": "boolean"\n },\n "launches_process": {\n "type": "boolean"\n },\n "may_access_network": {\n "type": "boolean"\n },\n "may_show_ui": {\n "type": "boolean"\n },\n "may_write_filesystem": {\n "type": "boolean"\n },\n "mutates_artifact": {\n "type": "boolean"\n },\n "requires_root": {\n "type": "boolean"\n }\n },\n "required": [\n "mutates_artifact",\n "launches_process",\n "may_show_ui",\n "may_access_network",\n "may_write_filesystem",\n "changes_permissions",\n "requires_root"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "operation": {\n "type": "string"\n },\n "reason": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "operation",\n "effects",\n "limitations",\n "available",\n "reason",\n "availability_code"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "type": "string"\n },\n "name": {\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "selected": {\n "type": "boolean"\n },\n "target_support": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "code": {\n "type": "null"\n },\n "diagnostics": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "reason": {\n "minLength": 1,\n "type": "string"\n },\n "status": {\n "const": "unknown",\n "type": "string"\n }\n },\n "required": [\n "status",\n "code",\n "reason",\n "diagnostics"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "code": {\n "type": "null"\n },\n "diagnostics": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "reason": {\n "type": "null"\n },\n "status": {\n "const": "supported",\n "type": "string"\n }\n },\n "required": [\n "status",\n "code",\n "reason",\n "diagnostics"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "code": {\n "enum": [\n "target_kind_unsupported",\n "target_format_unsupported",\n "architecture_unsupported",\n "target_role_unsupported",\n "managed_target_unsupported"\n ],\n "type": "string"\n },\n "diagnostics": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "reason": {\n "minLength": 1,\n "type": "string"\n },\n "status": {\n "const": "unsupported",\n "type": "string"\n }\n },\n "required": [\n "status",\n "code",\n "reason",\n "diagnostics"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "provider",\n "availability",\n "target_support",\n "selected",\n "capabilities"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "analysis_run": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "process_lineage": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "status": {\n "const": "not_observed",\n "type": "string"\n }\n },\n "required": [\n "status"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "snapshots": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "observation": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "launcher_pid": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "observed_at": {\n "format": "date-time",\n "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))$",\n "type": "string"\n },\n "process_group_id": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "reason": {\n "minLength": 1,\n "type": "string"\n },\n "status": {\n "const": "unavailable",\n "type": "string"\n }\n },\n "required": [\n "status",\n "observed_at",\n "launcher_pid",\n "process_group_id",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "descendants": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "parent_pid": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "pid": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "process_group_id": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "pid",\n "parent_pid",\n "process_group_id"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "launcher_parent_pid": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "launcher_pid": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "observed_at": {\n "format": "date-time",\n "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))$",\n "type": "string"\n },\n "process_group_id": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "status": {\n "const": "verified",\n "type": "string"\n }\n },\n "required": [\n "status",\n "observed_at",\n "launcher_pid",\n "process_group_id",\n "launcher_parent_pid",\n "descendants"\n ],\n "type": "object"\n }\n ]\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "type": "string"\n },\n "name": {\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "observation"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "status": {\n "const": "snapshots",\n "type": "string"\n }\n },\n "required": [\n "status",\n "snapshots"\n ],\n "type": "object"\n }\n ]\n },\n "run_id": {\n "format": "uuid",\n "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)$",\n "type": "string"\n }\n },\n "required": [\n "run_id",\n "process_lineage"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "capabilities": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "availability_code": {\n "type": "null"\n },\n "available": {\n "const": true,\n "type": "boolean"\n },\n "effects": {\n "additionalProperties": false,\n "properties": {\n "changes_permissions": {\n "type": "boolean"\n },\n "launches_process": {\n "type": "boolean"\n },\n "may_access_network": {\n "type": "boolean"\n },\n "may_show_ui": {\n "type": "boolean"\n },\n "may_write_filesystem": {\n "type": "boolean"\n },\n "mutates_artifact": {\n "type": "boolean"\n },\n "requires_root": {\n "type": "boolean"\n }\n },\n "required": [\n "mutates_artifact",\n "launches_process",\n "may_show_ui",\n "may_access_network",\n "may_write_filesystem",\n "changes_permissions",\n "requires_root"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "operation": {\n "type": "string"\n },\n "reason": {\n "type": "null"\n }\n },\n "required": [\n "operation",\n "effects",\n "limitations",\n "available",\n "reason",\n "availability_code"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "availability_code": {\n "anyOf": [\n {\n "enum": [\n "not_configured",\n "executable_missing",\n "runtime_missing",\n "unsupported_host",\n "unsupported_version",\n "target_kind_unsupported",\n "target_format_unsupported",\n "architecture_unsupported",\n "target_role_unsupported",\n "managed_target_unsupported",\n "open_options_invalid",\n "version_unresolved"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "available": {\n "const": false,\n "type": "boolean"\n },\n "effects": {\n "additionalProperties": false,\n "properties": {\n "changes_permissions": {\n "type": "boolean"\n },\n "launches_process": {\n "type": "boolean"\n },\n "may_access_network": {\n "type": "boolean"\n },\n "may_show_ui": {\n "type": "boolean"\n },\n "may_write_filesystem": {\n "type": "boolean"\n },\n "mutates_artifact": {\n "type": "boolean"\n },\n "requires_root": {\n "type": "boolean"\n }\n },\n "required": [\n "mutates_artifact",\n "launches_process",\n "may_show_ui",\n "may_access_network",\n "may_write_filesystem",\n "changes_permissions",\n "requires_root"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "operation": {\n "type": "string"\n },\n "reason": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "operation",\n "effects",\n "limitations",\n "available",\n "reason",\n "availability_code"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "client_features": {\n "additionalProperties": false,\n "properties": {\n "elicitation_form": {\n "type": "boolean"\n },\n "elicitation_url": {\n "type": "boolean"\n },\n "roots": {\n "type": "boolean"\n },\n "sampling": {\n "type": "boolean"\n }\n },\n "required": [\n "elicitation_form",\n "elicitation_url",\n "roots",\n "sampling"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map"\n ],\n "type": "string"\n },\n "kind": {\n "enum": [\n "executable",\n "database",\n "archive",\n "artifact"\n ],\n "type": "string"\n },\n "open": {\n "const": true,\n "type": "boolean"\n },\n "path": {\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "type": "string"\n },\n "name": {\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "providers": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "type": "string"\n },\n "name": {\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "server_identity": {\n "additionalProperties": false,\n "properties": {\n "alignment": {\n "additionalProperties": false,\n "properties": {\n "reasons": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "remediation": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "state": {\n "enum": [\n "aligned",\n "mcp_server_restart_required",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "state",\n "reasons",\n "remediation"\n ],\n "type": "object"\n },\n "catalog": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema1"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "client": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "name": {\n "type": "string"\n },\n "version": {\n "type": "string"\n }\n },\n "required": [\n "name",\n "version"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "negotiated_protocol_version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "package": {\n "additionalProperties": false,\n "properties": {\n "build_commit": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "type": "string"\n },\n "root_path": {\n "type": "string"\n },\n "version": {\n "type": "string"\n }\n },\n "required": [\n "name",\n "version",\n "root_path",\n "build_commit"\n ],\n "type": "object"\n },\n "protocol_features": {\n "additionalProperties": false,\n "properties": {\n "cancellation": {\n "type": "boolean"\n },\n "elicitation": {\n "type": "boolean"\n },\n "progress": {\n "type": "boolean"\n }\n },\n "required": [\n "progress",\n "cancellation",\n "elicitation"\n ],\n "type": "object"\n },\n "sdk": {\n "additionalProperties": false,\n "properties": {\n "client_test": {\n "type": "string"\n },\n "core": {\n "type": "string"\n },\n "server": {\n "type": "string"\n }\n },\n "required": [\n "server",\n "client_test",\n "core"\n ],\n "type": "object"\n },\n "server": {\n "additionalProperties": false,\n "properties": {\n "command_path": {\n "type": "string"\n },\n "name": {\n "type": "string"\n },\n "started_at": {\n "type": "string"\n },\n "version": {\n "type": "string"\n }\n },\n "required": [\n "name",\n "version",\n "started_at",\n "command_path"\n ],\n "type": "object"\n },\n "skill": {\n "additionalProperties": false,\n "properties": {\n "expected_version": {\n "type": "string"\n },\n "name": {\n "type": "string"\n }\n },\n "required": [\n "name",\n "expected_version"\n ],\n "type": "object"\n }\n },\n "required": [\n "package",\n "server",\n "sdk",\n "negotiated_protocol_version",\n "client",\n "skill",\n "catalog",\n "protocol_features",\n "alignment"\n ],\n "type": "object"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "tool_availability": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "annotations": {\n "additionalProperties": false,\n "properties": {\n "destructive": {\n "type": "boolean"\n },\n "idempotent": {\n "type": "boolean"\n },\n "open_world": {\n "type": "boolean"\n },\n "read_only": {\n "type": "boolean"\n }\n },\n "required": [\n "read_only",\n "destructive",\n "idempotent",\n "open_world"\n ],\n "type": "object"\n },\n "available": {\n "const": true,\n "type": "boolean"\n },\n "client_requirements": {\n "additionalProperties": false,\n "properties": {\n "missing_optional": {\n "items": {\n "enum": [\n "elicitation_form",\n "elicitation_url",\n "roots",\n "sampling"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "missing_required": {\n "items": {\n "enum": [\n "elicitation_form",\n "elicitation_url",\n "roots",\n "sampling"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "optional": {\n "items": {\n "enum": [\n "elicitation_form",\n "elicitation_url",\n "roots",\n "sampling"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "required": {\n "items": {\n "enum": [\n "elicitation_form",\n "elicitation_url",\n "roots",\n "sampling"\n ],\n "type": "string"\n },\n "type": "array"\n }\n },\n "required": [\n "required",\n "optional",\n "missing_required",\n "missing_optional"\n ],\n "type": "object"\n },\n "default_mode_available": {\n "type": "boolean"\n },\n "effects": {\n "additionalProperties": false,\n "properties": {\n "accessesNetwork": {\n "type": "boolean"\n },\n "changesUiState": {\n "type": "boolean"\n },\n "idempotent": {\n "type": "boolean"\n },\n "launchesProcess": {\n "type": "boolean"\n },\n "mayDiscardData": {\n "type": "boolean"\n },\n "mutatesSession": {\n "type": "boolean"\n },\n "mutatesTarget": {\n "type": "boolean"\n },\n "writesFilesystem": {\n "type": "boolean"\n }\n },\n "required": [\n "mutatesTarget",\n "mutatesSession",\n "writesFilesystem",\n "launchesProcess",\n "accessesNetwork",\n "changesUiState",\n "mayDiscardData",\n "idempotent"\n ],\n "type": "object"\n },\n "modes": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "missing_operations": {\n "items": {\n "type": "string"\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "name": {\n "type": "string"\n },\n "remediation": {\n "type": "null"\n }\n },\n "required": [\n "name",\n "available",\n "missing_operations",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "missing_operations": {\n "items": {\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "name": {\n "type": "string"\n },\n "remediation": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "name",\n "available",\n "missing_operations",\n "remediation"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "name": {\n "type": "string"\n },\n "reason": {\n "const": "available",\n "type": "string"\n },\n "remediation": {\n "type": "null"\n },\n "surface": {\n "type": "string"\n }\n },\n "required": [\n "name",\n "surface",\n "client_requirements",\n "effects",\n "annotations",\n "available",\n "reason",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "annotations": {\n "additionalProperties": false,\n "properties": {\n "destructive": {\n "type": "boolean"\n },\n "idempotent": {\n "type": "boolean"\n },\n "open_world": {\n "type": "boolean"\n },\n "read_only": {\n "type": "boolean"\n }\n },\n "required": [\n "read_only",\n "destructive",\n "idempotent",\n "open_world"\n ],\n "type": "object"\n },\n "available": {\n "const": false,\n "type": "boolean"\n },\n "client_requirements": {\n "additionalProperties": false,\n "properties": {\n "missing_optional": {\n "items": {\n "enum": [\n "elicitation_form",\n "elicitation_url",\n "roots",\n "sampling"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "missing_required": {\n "items": {\n "enum": [\n "elicitation_form",\n "elicitation_url",\n "roots",\n "sampling"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "optional": {\n "items": {\n "enum": [\n "elicitation_form",\n "elicitation_url",\n "roots",\n "sampling"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "required": {\n "items": {\n "enum": [\n "elicitation_form",\n "elicitation_url",\n "roots",\n "sampling"\n ],\n "type": "string"\n },\n "type": "array"\n }\n },\n "required": [\n "required",\n "optional",\n "missing_required",\n "missing_optional"\n ],\n "type": "object"\n },\n "default_mode_available": {\n "type": "boolean"\n },\n "effects": {\n "additionalProperties": false,\n "properties": {\n "accessesNetwork": {\n "type": "boolean"\n },\n "changesUiState": {\n "type": "boolean"\n },\n "idempotent": {\n "type": "boolean"\n },\n "launchesProcess": {\n "type": "boolean"\n },\n "mayDiscardData": {\n "type": "boolean"\n },\n "mutatesSession": {\n "type": "boolean"\n },\n "mutatesTarget": {\n "type": "boolean"\n },\n "writesFilesystem": {\n "type": "boolean"\n }\n },\n "required": [\n "mutatesTarget",\n "mutatesSession",\n "writesFilesystem",\n "launchesProcess",\n "accessesNetwork",\n "changesUiState",\n "mayDiscardData",\n "idempotent"\n ],\n "type": "object"\n },\n "modes": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "missing_operations": {\n "items": {\n "type": "string"\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "name": {\n "type": "string"\n },\n "remediation": {\n "type": "null"\n }\n },\n "required": [\n "name",\n "available",\n "missing_operations",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "missing_operations": {\n "items": {\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "name": {\n "type": "string"\n },\n "remediation": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "name",\n "available",\n "missing_operations",\n "remediation"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "name": {\n "type": "string"\n },\n "reason": {\n "enum": [\n "client_capability_missing",\n "target_required",\n "provider_missing",\n "provider_unavailable",\n "target_unsupported",\n "unsupported_host"\n ],\n "type": "string"\n },\n "remediation": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "surface": {\n "type": "string"\n }\n },\n "required": [\n "name",\n "surface",\n "client_requirements",\n "effects",\n "annotations",\n "available",\n "reason",\n "remediation"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n }\n },\n "required": [\n "provider",\n "providers",\n "capabilities",\n "analysis_run",\n "analysis_activity",\n "analysis_provider_binding",\n "analysis_provider_candidates",\n "tool_availability",\n "client_features",\n "server_identity",\n "open",\n "path",\n "format",\n "kind",\n "sha256",\n "architecture"\n ],\n "type": "object"\n }\n ]\n }\n ]\n }\n },\n "required": [\n "result"\n ],\n "type": "object"\n },\n "requiresSession": true,\n "title": "Binary Session"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": true,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Atomically write the session\'s deterministic Evidence bundle to the requested local path. Existing files require overwrite: true; records and manifests use canonical byte-stable ordering.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": true,\n "mutatesSession": false,\n "mutatesTarget": false,\n "writesFilesystem": true\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "overwrite": false,\n "path": "/tmp/evidence.json"\n }\n ],\n "properties": {\n "overwrite": {\n "default": false,\n "description": "Whether an existing destination may be replaced.",\n "type": "boolean"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "path"\n ],\n "type": "object"\n },\n "kind": "session",\n "name": "export_evidence_bundle",\n "outputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "result": {\n "additionalProperties": false,\n "properties": {\n "bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "type": "string"\n },\n "records": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "unknowns": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "path",\n "bytes",\n "records",\n "unknowns"\n ],\n "type": "object"\n }\n },\n "required": [\n "result"\n ],\n "type": "object"\n },\n "requiresSession": true,\n "title": "Export Evidence Bundle"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Read the JSON bundle at the supplied local path, validate every Evidence ID and canonical manifest, then atomically merge it. Imported content is data only and is never executed.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "path": "evidence.json"\n }\n ],\n "properties": {\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "path"\n ],\n "type": "object"\n },\n "kind": "session",\n "name": "import_evidence_bundle",\n "outputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "result": {\n "additionalProperties": false,\n "properties": {\n "imported": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "total": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "unknowns_added": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "imported",\n "unknowns_added",\n "total"\n ],\n "type": "object"\n }\n },\n "required": [\n "result"\n ],\n "type": "object"\n },\n "requiresSession": true,\n "title": "Import Evidence Bundle"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": false,\n "openWorldHint": true,\n "readOnlyHint": false\n },\n "description": "Run one caller-selected command under a PTY and return process capture Evidence with residual unknowns. A command name resolves through the inherited PATH; the working directory defaults to the caller\'s current directory; host environment variables are inherited with scenario overrides. Filesystem snapshots are opt-in through filesystem_observation_paths. The target runs with the current user\'s permissions; this is not a security sandbox.",\n "effects": {\n "accessesNetwork": true,\n "changesUiState": false,\n "idempotent": false,\n "launchesProcess": true,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": true\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "arguments": [],\n "environment": {},\n "events": [],\n "executable": "/usr/bin/true",\n "filesystem_observation_paths": [],\n "idle_timeout_ms": 30000,\n "limits": {\n "file_bytes": 10000000,\n "files": 10000,\n "filesystem_depth": 16,\n "output_bytes": 1000000,\n "processes": 1000\n },\n "normalization": {\n "paths": false,\n "patterns": [],\n "pids": true,\n "ports": true,\n "time_bucket_ms": 10\n },\n "settle_ms": 100,\n "terminal": {\n "columns": 80,\n "rows": 24,\n "scrollback": 1000\n },\n "timeout_ms": 30000,\n "working_directory": "/tmp"\n }\n ],\n "properties": {\n "arguments": {\n "default": [],\n "description": "Value for arguments.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "environment": {\n "additionalProperties": {\n "type": "string"\n },\n "default": {},\n "description": "Value for environment.",\n "propertyNames": {\n "pattern": "^[^=\\\\0]+$",\n "type": "string"\n },\n "type": "object"\n },\n "events": {\n "default": [],\n "description": "Value for events.",\n "items": {\n "oneOf": [\n {\n "properties": {\n "at_ms": {\n "description": "Value for at ms.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "data": {\n "description": "Value for data.",\n "type": "string"\n },\n "sensitive": {\n "default": false,\n "description": "Value for sensitive.",\n "type": "boolean"\n },\n "type": {\n "const": "input",\n "description": "Value for type.",\n "type": "string"\n }\n },\n "required": [\n "at_ms",\n "type",\n "data"\n ],\n "type": "object"\n },\n {\n "properties": {\n "at_ms": {\n "description": "Value for at ms.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "columns": {\n "description": "Value for columns.",\n "maximum": 65535,\n "minimum": 1,\n "type": "integer"\n },\n "rows": {\n "description": "Value for rows.",\n "maximum": 65535,\n "minimum": 1,\n "type": "integer"\n },\n "type": {\n "const": "resize",\n "description": "Value for type.",\n "type": "string"\n }\n },\n "required": [\n "at_ms",\n "type",\n "columns",\n "rows"\n ],\n "type": "object"\n },\n {\n "properties": {\n "at_ms": {\n "description": "Value for at ms.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "signal": {\n "description": "Value for signal.",\n "enum": [\n "SIGINT",\n "SIGTERM",\n "SIGKILL"\n ],\n "type": "string"\n },\n "type": {\n "const": "signal",\n "description": "Value for type.",\n "type": "string"\n }\n },\n "required": [\n "at_ms",\n "type",\n "signal"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "executable": {\n "description": "Command name or executable path to run.",\n "minLength": 1,\n "type": "string"\n },\n "filesystem_observation_paths": {\n "default": [],\n "description": "Value for filesystem observation paths.",\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "idle_timeout_ms": {\n "default": 30000,\n "description": "Value for idle timeout ms.",\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n "limits": {\n "additionalProperties": false,\n "default": {\n "file_bytes": 10000000,\n "files": 10000,\n "filesystem_depth": 16,\n "output_bytes": 1000000,\n "processes": 1000\n },\n "description": "Resource budgets that bound execution and retained output for this operation.",\n "properties": {\n "file_bytes": {\n "default": 10000000,\n "description": "Byte count for file.",\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n "files": {\n "default": 10000,\n "description": "Value for files.",\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n "filesystem_depth": {\n "default": 16,\n "description": "Value for filesystem depth.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "output_bytes": {\n "default": 1000000,\n "description": "Byte count for output.",\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n "processes": {\n "default": 1000,\n "description": "Value for processes.",\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n }\n },\n "type": "object"\n },\n "normalization": {\n "default": {\n "paths": false,\n "patterns": [],\n "pids": true,\n "ports": true,\n "time_bucket_ms": 10\n },\n "description": "Value for normalization.",\n "properties": {\n "paths": {\n "default": false,\n "description": "Value for paths.",\n "type": "boolean"\n },\n "patterns": {\n "default": [],\n "description": "Value for patterns.",\n "items": {\n "properties": {\n "pattern": {\n "description": "Literal text or regular expression used to filter matching results.",\n "type": "string"\n },\n "replacement": {\n "description": "Value for replacement.",\n "type": "string"\n }\n },\n "required": [\n "pattern",\n "replacement"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "pids": {\n "default": true,\n "description": "Value for pids.",\n "type": "boolean"\n },\n "ports": {\n "default": true,\n "description": "Value for ports.",\n "type": "boolean"\n },\n "time_bucket_ms": {\n "default": 10,\n "description": "Value for time bucket ms.",\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n }\n },\n "type": "object"\n },\n "settle_ms": {\n "default": 100,\n "description": "Value for settle ms.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "terminal": {\n "default": {\n "columns": 80,\n "rows": 24,\n "scrollback": 1000\n },\n "description": "Value for terminal.",\n "properties": {\n "columns": {\n "default": 80,\n "description": "Value for columns.",\n "maximum": 65535,\n "minimum": 1,\n "type": "integer"\n },\n "rows": {\n "default": 24,\n "description": "Value for rows.",\n "maximum": 65535,\n "minimum": 1,\n "type": "integer"\n },\n "scrollback": {\n "default": 1000,\n "description": "Value for scrollback.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "type": "object"\n },\n "timeout_ms": {\n "default": 30000,\n "description": "Value for timeout ms.",\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n "working_directory": {\n "default": ".",\n "description": "Value for working directory.",\n "type": "string"\n }\n },\n "required": [\n "executable"\n ],\n "type": "object"\n },\n "kind": "session",\n "name": "capture_process_scenario",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "cleanup": {\n "additionalProperties": false,\n "properties": {\n "owned_process_group": {\n "const": "verified",\n "type": "string"\n },\n "temporary_root": {\n "const": "removed",\n "type": "string"\n }\n },\n "required": [\n "owned_process_group",\n "temporary_root"\n ],\n "type": "object"\n },\n "event_journal": {\n "default": [],\n "items": {\n "additionalProperties": false,\n "properties": {\n "capture_order": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "collection": {\n "enum": [\n "frames",\n "rendered_frames",\n "interaction_events",\n "lifecycle",\n "process_samples",\n "filesystem_checkpoints"\n ],\n "type": "string"\n },\n "index": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "capture_order",\n "collection",\n "index"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "exit": {\n "additionalProperties": false,\n "properties": {\n "code": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": -9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "reason": {\n "enum": [\n "exited",\n "timeout",\n "idle_timeout"\n ],\n "type": "string"\n },\n "signal": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": -9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "code",\n "signal",\n "reason"\n ],\n "type": "object"\n },\n "files_after": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "mode": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "type": "string"\n },\n "sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "size": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "symlink_target": {\n "type": "null"\n },\n "type": {\n "const": "file",\n "type": "string"\n }\n },\n "required": [\n "path",\n "mode",\n "size",\n "type",\n "sha256",\n "symlink_target"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "mode": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "type": "string"\n },\n "sha256": {\n "type": "null"\n },\n "size": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "symlink_target": {\n "type": "string"\n },\n "type": {\n "const": "symlink",\n "type": "string"\n }\n },\n "required": [\n "path",\n "mode",\n "size",\n "type",\n "sha256",\n "symlink_target"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "mode": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "type": "string"\n },\n "sha256": {\n "type": "null"\n },\n "size": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "symlink_target": {\n "type": "null"\n },\n "type": {\n "enum": [\n "directory",\n "other"\n ],\n "type": "string"\n }\n },\n "required": [\n "path",\n "mode",\n "size",\n "type",\n "sha256",\n "symlink_target"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "files_before": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "mode": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "type": "string"\n },\n "sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "size": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "symlink_target": {\n "type": "null"\n },\n "type": {\n "const": "file",\n "type": "string"\n }\n },\n "required": [\n "path",\n "mode",\n "size",\n "type",\n "sha256",\n "symlink_target"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "mode": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "type": "string"\n },\n "sha256": {\n "type": "null"\n },\n "size": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "symlink_target": {\n "type": "string"\n },\n "type": {\n "const": "symlink",\n "type": "string"\n }\n },\n "required": [\n "path",\n "mode",\n "size",\n "type",\n "sha256",\n "symlink_target"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "mode": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "type": "string"\n },\n "sha256": {\n "type": "null"\n },\n "size": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "symlink_target": {\n "type": "null"\n },\n "type": {\n "enum": [\n "directory",\n "other"\n ],\n "type": "string"\n }\n },\n "required": [\n "path",\n "mode",\n "size",\n "type",\n "sha256",\n "symlink_target"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "filesystem_checkpoints": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "at_ms": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "effects": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "after": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "mode": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "type": "string"\n },\n "sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "size": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "symlink_target": {\n "type": "null"\n },\n "type": {\n "const": "file",\n "type": "string"\n }\n },\n "required": [\n "path",\n "mode",\n "size",\n "type",\n "sha256",\n "symlink_target"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "mode": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "type": "string"\n },\n "sha256": {\n "type": "null"\n },\n "size": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "symlink_target": {\n "type": "string"\n },\n "type": {\n "const": "symlink",\n "type": "string"\n }\n },\n "required": [\n "path",\n "mode",\n "size",\n "type",\n "sha256",\n "symlink_target"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "mode": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "type": "string"\n },\n "sha256": {\n "type": "null"\n },\n "size": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "symlink_target": {\n "type": "null"\n },\n "type": {\n "enum": [\n "directory",\n "other"\n ],\n "type": "string"\n }\n },\n "required": [\n "path",\n "mode",\n "size",\n "type",\n "sha256",\n "symlink_target"\n ],\n "type": "object"\n }\n ]\n },\n "before": {\n "type": "null"\n },\n "path": {\n "type": "string"\n },\n "status": {\n "const": "created",\n "type": "string"\n }\n },\n "required": [\n "path",\n "status",\n "before",\n "after"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "after": {\n "type": "null"\n },\n "before": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "mode": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "type": "string"\n },\n "sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "size": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "symlink_target": {\n "type": "null"\n },\n "type": {\n "const": "file",\n "type": "string"\n }\n },\n "required": [\n "path",\n "mode",\n "size",\n "type",\n "sha256",\n "symlink_target"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "mode": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "type": "string"\n },\n "sha256": {\n "type": "null"\n },\n "size": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "symlink_target": {\n "type": "string"\n },\n "type": {\n "const": "symlink",\n "type": "string"\n }\n },\n "required": [\n "path",\n "mode",\n "size",\n "type",\n "sha256",\n "symlink_target"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "mode": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "type": "string"\n },\n "sha256": {\n "type": "null"\n },\n "size": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "symlink_target": {\n "type": "null"\n },\n "type": {\n "enum": [\n "directory",\n "other"\n ],\n "type": "string"\n }\n },\n "required": [\n "path",\n "mode",\n "size",\n "type",\n "sha256",\n "symlink_target"\n ],\n "type": "object"\n }\n ]\n },\n "path": {\n "type": "string"\n },\n "status": {\n "const": "deleted",\n "type": "string"\n }\n },\n "required": [\n "path",\n "status",\n "before",\n "after"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "after": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "mode": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "type": "string"\n },\n "sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "size": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "symlink_target": {\n "type": "null"\n },\n "type": {\n "const": "file",\n "type": "string"\n }\n },\n "required": [\n "path",\n "mode",\n "size",\n "type",\n "sha256",\n "symlink_target"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "mode": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "type": "string"\n },\n "sha256": {\n "type": "null"\n },\n "size": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "symlink_target": {\n "type": "string"\n },\n "type": {\n "const": "symlink",\n "type": "string"\n }\n },\n "required": [\n "path",\n "mode",\n "size",\n "type",\n "sha256",\n "symlink_target"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "mode": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "type": "string"\n },\n "sha256": {\n "type": "null"\n },\n "size": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "symlink_target": {\n "type": "null"\n },\n "type": {\n "enum": [\n "directory",\n "other"\n ],\n "type": "string"\n }\n },\n "required": [\n "path",\n "mode",\n "size",\n "type",\n "sha256",\n "symlink_target"\n ],\n "type": "object"\n }\n ]\n },\n "before": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "mode": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "type": "string"\n },\n "sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "size": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "symlink_target": {\n "type": "null"\n },\n "type": {\n "const": "file",\n "type": "string"\n }\n },\n "required": [\n "path",\n "mode",\n "size",\n "type",\n "sha256",\n "symlink_target"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "mode": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "type": "string"\n },\n "sha256": {\n "type": "null"\n },\n "size": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "symlink_target": {\n "type": "string"\n },\n "type": {\n "const": "symlink",\n "type": "string"\n }\n },\n "required": [\n "path",\n "mode",\n "size",\n "type",\n "sha256",\n "symlink_target"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "mode": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "type": "string"\n },\n "sha256": {\n "type": "null"\n },\n "size": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "symlink_target": {\n "type": "null"\n },\n "type": {\n "enum": [\n "directory",\n "other"\n ],\n "type": "string"\n }\n },\n "required": [\n "path",\n "mode",\n "size",\n "type",\n "sha256",\n "symlink_target"\n ],\n "type": "object"\n }\n ]\n },\n "path": {\n "type": "string"\n },\n "status": {\n "enum": [\n "modified",\n "unchanged"\n ],\n "type": "string"\n }\n },\n "required": [\n "path",\n "status",\n "before",\n "after"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "files": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "mode": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "type": "string"\n },\n "sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "size": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "symlink_target": {\n "type": "null"\n },\n "type": {\n "const": "file",\n "type": "string"\n }\n },\n "required": [\n "path",\n "mode",\n "size",\n "type",\n "sha256",\n "symlink_target"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "mode": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "type": "string"\n },\n "sha256": {\n "type": "null"\n },\n "size": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "symlink_target": {\n "type": "string"\n },\n "type": {\n "const": "symlink",\n "type": "string"\n }\n },\n "required": [\n "path",\n "mode",\n "size",\n "type",\n "sha256",\n "symlink_target"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "mode": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "type": "string"\n },\n "sha256": {\n "type": "null"\n },\n "size": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "symlink_target": {\n "type": "null"\n },\n "type": {\n "enum": [\n "directory",\n "other"\n ],\n "type": "string"\n }\n },\n "required": [\n "path",\n "mode",\n "size",\n "type",\n "sha256",\n "symlink_target"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "name": {\n "enum": [\n "before",\n "after_settlement"\n ],\n "type": "string"\n },\n "truncated": {\n "type": "boolean"\n }\n },\n "required": [\n "name",\n "at_ms",\n "files",\n "effects",\n "truncated"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "filesystem_effects": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "after": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "mode": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "type": "string"\n },\n "sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "size": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "symlink_target": {\n "type": "null"\n },\n "type": {\n "const": "file",\n "type": "string"\n }\n },\n "required": [\n "path",\n "mode",\n "size",\n "type",\n "sha256",\n "symlink_target"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "mode": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "type": "string"\n },\n "sha256": {\n "type": "null"\n },\n "size": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "symlink_target": {\n "type": "string"\n },\n "type": {\n "const": "symlink",\n "type": "string"\n }\n },\n "required": [\n "path",\n "mode",\n "size",\n "type",\n "sha256",\n "symlink_target"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "mode": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "type": "string"\n },\n "sha256": {\n "type": "null"\n },\n "size": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "symlink_target": {\n "type": "null"\n },\n "type": {\n "enum": [\n "directory",\n "other"\n ],\n "type": "string"\n }\n },\n "required": [\n "path",\n "mode",\n "size",\n "type",\n "sha256",\n "symlink_target"\n ],\n "type": "object"\n }\n ]\n },\n "before": {\n "type": "null"\n },\n "path": {\n "type": "string"\n },\n "status": {\n "const": "created",\n "type": "string"\n }\n },\n "required": [\n "path",\n "status",\n "before",\n "after"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "after": {\n "type": "null"\n },\n "before": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "mode": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "type": "string"\n },\n "sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "size": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "symlink_target": {\n "type": "null"\n },\n "type": {\n "const": "file",\n "type": "string"\n }\n },\n "required": [\n "path",\n "mode",\n "size",\n "type",\n "sha256",\n "symlink_target"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "mode": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "type": "string"\n },\n "sha256": {\n "type": "null"\n },\n "size": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "symlink_target": {\n "type": "string"\n },\n "type": {\n "const": "symlink",\n "type": "string"\n }\n },\n "required": [\n "path",\n "mode",\n "size",\n "type",\n "sha256",\n "symlink_target"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "mode": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "type": "string"\n },\n "sha256": {\n "type": "null"\n },\n "size": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "symlink_target": {\n "type": "null"\n },\n "type": {\n "enum": [\n "directory",\n "other"\n ],\n "type": "string"\n }\n },\n "required": [\n "path",\n "mode",\n "size",\n "type",\n "sha256",\n "symlink_target"\n ],\n "type": "object"\n }\n ]\n },\n "path": {\n "type": "string"\n },\n "status": {\n "const": "deleted",\n "type": "string"\n }\n },\n "required": [\n "path",\n "status",\n "before",\n "after"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "after": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "mode": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "type": "string"\n },\n "sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "size": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "symlink_target": {\n "type": "null"\n },\n "type": {\n "const": "file",\n "type": "string"\n }\n },\n "required": [\n "path",\n "mode",\n "size",\n "type",\n "sha256",\n "symlink_target"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "mode": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "type": "string"\n },\n "sha256": {\n "type": "null"\n },\n "size": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "symlink_target": {\n "type": "string"\n },\n "type": {\n "const": "symlink",\n "type": "string"\n }\n },\n "required": [\n "path",\n "mode",\n "size",\n "type",\n "sha256",\n "symlink_target"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "mode": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "type": "string"\n },\n "sha256": {\n "type": "null"\n },\n "size": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "symlink_target": {\n "type": "null"\n },\n "type": {\n "enum": [\n "directory",\n "other"\n ],\n "type": "string"\n }\n },\n "required": [\n "path",\n "mode",\n "size",\n "type",\n "sha256",\n "symlink_target"\n ],\n "type": "object"\n }\n ]\n },\n "before": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "mode": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "type": "string"\n },\n "sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "size": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "symlink_target": {\n "type": "null"\n },\n "type": {\n "const": "file",\n "type": "string"\n }\n },\n "required": [\n "path",\n "mode",\n "size",\n "type",\n "sha256",\n "symlink_target"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "mode": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "type": "string"\n },\n "sha256": {\n "type": "null"\n },\n "size": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "symlink_target": {\n "type": "string"\n },\n "type": {\n "const": "symlink",\n "type": "string"\n }\n },\n "required": [\n "path",\n "mode",\n "size",\n "type",\n "sha256",\n "symlink_target"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "mode": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "type": "string"\n },\n "sha256": {\n "type": "null"\n },\n "size": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "symlink_target": {\n "type": "null"\n },\n "type": {\n "enum": [\n "directory",\n "other"\n ],\n "type": "string"\n }\n },\n "required": [\n "path",\n "mode",\n "size",\n "type",\n "sha256",\n "symlink_target"\n ],\n "type": "object"\n }\n ]\n },\n "path": {\n "type": "string"\n },\n "status": {\n "enum": [\n "modified",\n "unchanged"\n ],\n "type": "string"\n }\n },\n "required": [\n "path",\n "status",\n "before",\n "after"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "frames": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "at_ms": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "data": {\n "type": "string"\n },\n "sequence": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "sequence",\n "at_ms",\n "data"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "interaction_events": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "data": {\n "type": "string"\n },\n "dispatched_at_ms": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "outcome": {\n "enum": [\n "dispatched",\n "target_exited",\n "failed"\n ],\n "type": "string"\n },\n "scheduled_at_ms": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "sequence": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "type": {\n "enum": [\n "input",\n "resize",\n "signal"\n ],\n "type": "string"\n }\n },\n "required": [\n "sequence",\n "scheduled_at_ms",\n "dispatched_at_ms",\n "type",\n "data",\n "outcome"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "manifest": {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "comparison_contract": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "comparison_contract_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "completed_at": {\n "format": "date-time",\n "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))$",\n "type": "string"\n },\n "executable_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "full_scenario_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "normalization_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n },\n "provider_version": {\n "minLength": 1,\n "type": "string"\n },\n "pty_backend": {\n "const": "node-pty",\n "type": "string"\n },\n "rea_version": {\n "minLength": 1,\n "type": "string"\n },\n "scenario": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "started_at": {\n "format": "date-time",\n "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))$",\n "type": "string"\n }\n },\n "required": [\n "rea_version",\n "provider_version",\n "platform",\n "architecture",\n "pty_backend",\n "started_at",\n "completed_at",\n "scenario",\n "comparison_contract",\n "full_scenario_sha256",\n "comparison_contract_sha256",\n "executable_sha256",\n "normalization_sha256"\n ],\n "type": "object"\n },\n "normalization": {\n "additionalProperties": false,\n "properties": {\n "paths": {\n "type": "boolean"\n },\n "patterns": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "pattern": {\n "type": "string"\n },\n "replacement": {\n "type": "string"\n }\n },\n "required": [\n "pattern",\n "replacement"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "pids": {\n "type": "boolean"\n },\n "ports": {\n "type": "boolean"\n },\n "time_bucket_ms": {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n }\n },\n "required": [\n "paths",\n "pids",\n "ports",\n "time_bucket_ms",\n "patterns"\n ],\n "type": "object"\n },\n "process_samples": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "at_ms": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "command": {\n "type": "string"\n },\n "parent_pid": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "pid": {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n "process_group_id": {\n "anyOf": [\n {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "session_id": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "at_ms",\n "pid",\n "parent_pid",\n "command",\n "process_group_id",\n "session_id"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "rendered_frames": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "active_buffer": {\n "enum": [\n "normal",\n "alternate"\n ],\n "type": "string"\n },\n "at_ms": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "columns": {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n "cursor_x": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "cursor_y": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "lines": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "rows": {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n "sequence": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "serialized_state": {\n "type": "string"\n }\n },\n "required": [\n "sequence",\n "at_ms",\n "columns",\n "rows",\n "cursor_x",\n "cursor_y",\n "active_buffer",\n "lines",\n "serialized_state"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "residual_unknowns": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "type": "string"\n },\n "scope": {\n "enum": [\n "terminal",\n "interaction",\n "exit",\n "process",\n "filesystem",\n "cleanup",\n "network",\n "environment"\n ],\n "type": "string"\n }\n },\n "required": [\n "scope",\n "reason"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "settlement": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "cleanup_outcome": {\n "const": "not_required",\n "type": "string"\n },\n "elapsed_ms": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "state": {\n "const": "quiesced",\n "type": "string"\n }\n },\n "required": [\n "state",\n "elapsed_ms",\n "cleanup_outcome"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "cleanup_outcome": {\n "enum": [\n "cleaned",\n "failed"\n ],\n "type": "string"\n },\n "elapsed_ms": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "state": {\n "enum": [\n "alive_at_deadline",\n "unverifiable"\n ],\n "type": "string"\n }\n },\n "required": [\n "state",\n "elapsed_ms",\n "cleanup_outcome"\n ],\n "type": "object"\n }\n ]\n },\n "truncated": {\n "type": "boolean"\n }\n },\n "required": [\n "manifest",\n "normalization",\n "frames",\n "rendered_frames",\n "interaction_events",\n "exit",\n "settlement",\n "process_samples",\n "filesystem_checkpoints",\n "event_journal",\n "files_before",\n "files_after",\n "filesystem_effects",\n "truncated",\n "limitations",\n "residual_unknowns",\n "cleanup"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": true,\n "title": "Capture Process Scenario"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Compare two compatible process capture 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.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "left": {\n "authority": "controlled-replay",\n "confidence": "observed",\n "environment": {\n "architecture": "x86_64",\n "id": "fixture-linux",\n "isolation": "container",\n "platform": "linux"\n },\n "evidence_id": "ev_39dc6ca57fd8d981c0bce63a1de75dd752e0ae47ff911440949cba8f6a8f1b7c",\n "evidence_links": [],\n "limitations": [\n "Artifact identity is unavailable for this observation."\n ],\n "locations": [],\n "normalized_result": {\n "cleanup": {\n "owned_process_group": "verified",\n "temporary_root": "removed"\n },\n "event_journal": [],\n "exit": {\n "code": 0,\n "reason": "exited",\n "signal": null\n },\n "files_after": [],\n "files_before": [],\n "filesystem_checkpoints": [\n {\n "at_ms": 0,\n "effects": [],\n "files": [],\n "name": "before",\n "truncated": false\n },\n {\n "at_ms": 50,\n "effects": [],\n "files": [],\n "name": "after_settlement",\n "truncated": false\n }\n ],\n "filesystem_effects": [],\n "frames": [],\n "interaction_events": [],\n "limitations": [],\n "manifest": {\n "architecture": "fixture",\n "comparison_contract": {},\n "comparison_contract_sha256": "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a",\n "completed_at": "2026-01-01T00:00:00.001Z",\n "executable_sha256": "0000000000000000000000000000000000000000000000000000000000000000",\n "full_scenario_sha256": "e9fb6dbb12060cb724e2c6360da0d406b8dcb13ed91769105f92efe312491fc7",\n "normalization_sha256": "60a27b2d1ee5aa73bf2e5cb2deaed2e9cc548f961ad2e3772c981828b643cc43",\n "platform": "fixture",\n "provider_version": "3",\n "pty_backend": "node-pty",\n "rea_version": "1.1.0",\n "scenario": {\n "executable_sha256": "0000000000000000000000000000000000000000000000000000000000000000"\n },\n "started_at": "2026-01-01T00:00:00.000Z"\n },\n "normalization": {\n "paths": true,\n "patterns": [],\n "pids": true,\n "ports": true,\n "time_bucket_ms": 10\n },\n "process_samples": [],\n "rendered_frames": [],\n "residual_unknowns": [],\n "settlement": {\n "cleanup_outcome": "not_required",\n "elapsed_ms": 50,\n "state": "quiesced"\n },\n "truncated": false\n },\n "operation": "capture_process_scenario",\n "parameters": {\n "scenario": "reference"\n },\n "predicate_type": "rea.process-capture",\n "provider": {\n "id": "rea-process",\n "name": "REA deterministic process harness",\n "version": "3"\n },\n "raw_result": null,\n "subject": null\n },\n "right": {\n "authority": "controlled-replay",\n "confidence": "observed",\n "environment": {\n "architecture": "x86_64",\n "id": "fixture-linux",\n "isolation": "container",\n "platform": "linux"\n },\n "evidence_id": "ev_434bd49ec7096a6a955adb869d0f38ae3cb62f1256376ca87ca7ca983e5ef538",\n "evidence_links": [],\n "limitations": [\n "Artifact identity is unavailable for this observation."\n ],\n "locations": [],\n "normalized_result": {\n "cleanup": {\n "owned_process_group": "verified",\n "temporary_root": "removed"\n },\n "event_journal": [],\n "exit": {\n "code": 0,\n "reason": "exited",\n "signal": null\n },\n "files_after": [],\n "files_before": [],\n "filesystem_checkpoints": [\n {\n "at_ms": 0,\n "effects": [],\n "files": [],\n "name": "before",\n "truncated": false\n },\n {\n "at_ms": 50,\n "effects": [],\n "files": [],\n "name": "after_settlement",\n "truncated": false\n }\n ],\n "filesystem_effects": [],\n "frames": [],\n "interaction_events": [],\n "limitations": [],\n "manifest": {\n "architecture": "fixture",\n "comparison_contract": {},\n "comparison_contract_sha256": "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a",\n "completed_at": "2026-01-01T00:00:00.001Z",\n "executable_sha256": "0000000000000000000000000000000000000000000000000000000000000000",\n "full_scenario_sha256": "e9fb6dbb12060cb724e2c6360da0d406b8dcb13ed91769105f92efe312491fc7",\n "normalization_sha256": "60a27b2d1ee5aa73bf2e5cb2deaed2e9cc548f961ad2e3772c981828b643cc43",\n "platform": "fixture",\n "provider_version": "3",\n "pty_backend": "node-pty",\n "rea_version": "1.1.0",\n "scenario": {\n "executable_sha256": "0000000000000000000000000000000000000000000000000000000000000000"\n },\n "started_at": "2026-01-01T00:00:00.000Z"\n },\n "normalization": {\n "paths": true,\n "patterns": [],\n "pids": true,\n "ports": true,\n "time_bucket_ms": 10\n },\n "process_samples": [],\n "rendered_frames": [],\n "residual_unknowns": [],\n "settlement": {\n "cleanup_outcome": "not_required",\n "elapsed_ms": 50,\n "state": "quiesced"\n },\n "truncated": false\n },\n "operation": "capture_process_scenario",\n "parameters": {\n "scenario": "reconstruction"\n },\n "predicate_type": "rea.process-capture",\n "provider": {\n "id": "rea-process",\n "name": "REA deterministic process harness",\n "version": "3"\n },\n "raw_result": null,\n "subject": null\n }\n }\n ],\n "properties": {\n "left": {\n "additionalProperties": false,\n "description": "Left-hand input used for comparison or differential execution.",\n "properties": {\n "analysis_profile": {\n "description": "Value for analysis profile.",\n "properties": {\n "digest": {\n "description": "Value for digest.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "description": "Value for version.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "description": "Value for authority.",\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "description": "Value for confidence.",\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "description": "Value for architecture.",\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "description": "Value for isolation.",\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "description": "Value for platform.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for environment."\n },\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "description": "Value for evidence links.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "description": "Value for locations.",\n "items": {\n "oneOf": [\n {\n "properties": {\n "address": {\n "description": "Value for address.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "artifact-path",\n "description": "Value for kind.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "file-offset",\n "description": "Value for kind.",\n "type": "string"\n },\n "offset": {\n "description": "Value for offset.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0",\n "description": "Value for normalized result."\n },\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "description": "Value for predicate type.",\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for version."\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for raw result."\n },\n "subject": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "digest": {\n "description": "Value for digest.",\n "properties": {\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "description": "Declared input artifact format.",\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "description": "Local filesystem path for local.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for subject."\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "max_capture_age_ms": {\n "description": "Maximum permitted capture age ms for this operation.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "right": {\n "additionalProperties": false,\n "description": "Right-hand input used for comparison or differential execution.",\n "properties": {\n "analysis_profile": {\n "description": "Value for analysis profile.",\n "properties": {\n "digest": {\n "description": "Value for digest.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "description": "Value for version.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "description": "Value for authority.",\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "description": "Value for confidence.",\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "description": "Value for architecture.",\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "description": "Value for isolation.",\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "description": "Value for platform.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for environment."\n },\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "description": "Value for evidence links.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "description": "Value for locations.",\n "items": {\n "oneOf": [\n {\n "properties": {\n "address": {\n "description": "Value for address.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "artifact-path",\n "description": "Value for kind.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "file-offset",\n "description": "Value for kind.",\n "type": "string"\n },\n "offset": {\n "description": "Value for offset.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0",\n "description": "Value for normalized result."\n },\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "description": "Value for predicate type.",\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for version."\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for raw result."\n },\n "subject": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "digest": {\n "description": "Value for digest.",\n "properties": {\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "description": "Declared input artifact format.",\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "description": "Local filesystem path for local.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for subject."\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "trace_spec": {\n "additionalProperties": false,\n "description": "Value for trace spec.",\n "properties": {\n "events": {\n "description": "Value for events.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "cardinality": {\n "default": {\n "kind": "required"\n },\n "description": "Value for cardinality.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "required",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "optional",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "count": {\n "description": "Value for count.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "exact",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "count"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "range",\n "description": "Value for kind.",\n "type": "string"\n },\n "max": {\n "description": "Value for max.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "min": {\n "description": "Value for min.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "min",\n "max"\n ],\n "type": "object"\n }\n ]\n },\n "exact": {\n "$ref": "#/$defs/__schema0",\n "description": "Value for exact."\n },\n "id": {\n "description": "Value for id.",\n "pattern": "^[A-Za-z][A-Za-z0-9._-]*$",\n "type": "string"\n },\n "ignore_fields": {\n "description": "Value for ignore fields.",\n "items": {\n "enum": [\n "sequence",\n "at_ms",\n "scheduled_at_ms",\n "dispatched_at_ms",\n "elapsed_ms"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "source": {\n "description": "Value for source.",\n "enum": [\n "terminal_raw",\n "terminal_rendered",\n "interaction",\n "lifecycle",\n "process",\n "filesystem"\n ],\n "type": "string"\n }\n },\n "required": [\n "id",\n "source",\n "exact"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "language": {\n "description": "Value for language.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "happens_before": {\n "default": [],\n "description": "Value for happens before.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "after": {\n "description": "The later or right-hand observation to compare.",\n "pattern": "^[A-Za-z][A-Za-z0-9._-]*$",\n "type": "string"\n },\n "before": {\n "description": "The earlier or left-hand observation to compare.",\n "pattern": "^[A-Za-z][A-Za-z0-9._-]*$",\n "type": "string"\n }\n },\n "required": [\n "before",\n "after"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "kind": {\n "const": "partial_order",\n "description": "Value for kind.",\n "type": "string"\n },\n "not_before": {\n "default": [],\n "description": "Value for not before.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "anchor": {\n "description": "Value for anchor.",\n "pattern": "^[A-Za-z][A-Za-z0-9._-]*$",\n "type": "string"\n },\n "event": {\n "description": "Value for event.",\n "pattern": "^[A-Za-z][A-Za-z0-9._-]*$",\n "type": "string"\n }\n },\n "required": [\n "event",\n "anchor"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "prefix": {\n "default": [],\n "description": "Value for prefix.",\n "items": {\n "pattern": "^[A-Za-z][A-Za-z0-9._-]*$",\n "type": "string"\n },\n "type": "array"\n },\n "suffix": {\n "default": [],\n "description": "Value for suffix.",\n "items": {\n "pattern": "^[A-Za-z][A-Za-z0-9._-]*$",\n "type": "string"\n },\n "type": "array"\n },\n "unordered_groups": {\n "default": [],\n "description": "Value for unordered groups.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "events": {\n "description": "Value for events.",\n "items": {\n "pattern": "^[A-Za-z][A-Za-z0-9._-]*$",\n "type": "string"\n },\n "minItems": 2,\n "type": "array"\n }\n },\n "required": [\n "events"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "kind"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "finite_traces",\n "description": "Value for kind.",\n "type": "string"\n },\n "variants": {\n "description": "Value for variants.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "description": "Value for id.",\n "pattern": "^[A-Za-z][A-Za-z0-9._-]*$",\n "type": "string"\n },\n "trace": {\n "description": "Value for trace.",\n "items": {\n "anyOf": [\n {\n "pattern": "^[A-Za-z][A-Za-z0-9._-]*$",\n "type": "string"\n },\n {\n "additionalProperties": false,\n "properties": {\n "unordered": {\n "description": "Value for unordered.",\n "items": {\n "pattern": "^[A-Za-z][A-Za-z0-9._-]*$",\n "type": "string"\n },\n "minItems": 2,\n "type": "array"\n }\n },\n "required": [\n "unordered"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n }\n },\n "required": [\n "id",\n "trace"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "kind",\n "variants"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "events",\n "language"\n ],\n "type": "object"\n }\n },\n "required": [\n "left",\n "right"\n ],\n "type": "object"\n },\n "kind": "session",\n "name": "compare_process_captures",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "exit": {\n "enum": [\n "unchanged",\n "added",\n "removed",\n "changed",\n "truncated",\n "unknown",\n "contradiction"\n ],\n "type": "string"\n },\n "filesystem": {\n "enum": [\n "unchanged",\n "added",\n "removed",\n "changed",\n "truncated",\n "unknown",\n "contradiction"\n ],\n "type": "string"\n },\n "first_divergence": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "status": {\n "const": "none",\n "type": "string"\n }\n },\n "required": [\n "status"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "type": "string"\n },\n "status": {\n "const": "unknown",\n "type": "string"\n }\n },\n "required": [\n "status",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "dimension": {\n "enum": [\n "terminal",\n "interaction",\n "exit",\n "filesystem",\n "process"\n ],\n "type": "string"\n },\n "index": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "left": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "left_at_ms": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "right": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "right_at_ms": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "found",\n "type": "string"\n }\n },\n "required": [\n "status",\n "dimension",\n "index",\n "left_at_ms",\n "right_at_ms",\n "left",\n "right"\n ],\n "type": "object"\n }\n ]\n },\n "interaction": {\n "enum": [\n "unchanged",\n "added",\n "removed",\n "changed",\n "truncated",\n "unknown",\n "contradiction"\n ],\n "type": "string"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "process": {\n "enum": [\n "unchanged",\n "added",\n "removed",\n "changed",\n "truncated",\n "unknown",\n "contradiction"\n ],\n "type": "string"\n },\n "status": {\n "enum": [\n "unchanged",\n "added",\n "removed",\n "changed",\n "truncated",\n "unknown",\n "contradiction"\n ],\n "type": "string"\n },\n "terminal": {\n "enum": [\n "unchanged",\n "added",\n "removed",\n "changed",\n "truncated",\n "unknown",\n "contradiction"\n ],\n "type": "string"\n },\n "trace": {\n "additionalProperties": false,\n "properties": {\n "diagnostic": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "event_ids": {\n "items": {\n "pattern": "^[A-Za-z][A-Za-z0-9._-]{0,63}$",\n "type": "string"\n },\n "type": "array"\n },\n "kind": {\n "enum": [\n "journal",\n "predicate",\n "cardinality",\n "edge",\n "prefix",\n "suffix",\n "trace"\n ],\n "type": "string"\n },\n "locations": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "capture_order": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "collection": {\n "enum": [\n "frames",\n "rendered_frames",\n "interaction_events",\n "lifecycle",\n "process_samples",\n "filesystem_checkpoints"\n ],\n "type": "string"\n },\n "index": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "collection",\n "index",\n "capture_order"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "message": {\n "type": "string"\n },\n "side": {\n "enum": [\n "left",\n "right"\n ],\n "type": "string"\n }\n },\n "required": [\n "kind",\n "side",\n "message",\n "event_ids",\n "locations"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "left": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "matched_variant": {\n "anyOf": [\n {\n "pattern": "^[A-Za-z][A-Za-z0-9._-]{0,63}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "raw_trace": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "event_id": {\n "pattern": "^[A-Za-z][A-Za-z0-9._-]{0,63}$",\n "type": "string"\n },\n "location": {\n "additionalProperties": false,\n "properties": {\n "capture_order": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "collection": {\n "enum": [\n "frames",\n "rendered_frames",\n "interaction_events",\n "lifecycle",\n "process_samples",\n "filesystem_checkpoints"\n ],\n "type": "string"\n },\n "index": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "collection",\n "index",\n "capture_order"\n ],\n "type": "object"\n }\n },\n "required": [\n "event_id",\n "location"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "satisfied_constraints": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "status": {\n "const": "pass",\n "type": "string"\n }\n },\n "required": [\n "satisfied_constraints",\n "raw_trace",\n "status",\n "matched_variant"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "matched_variant": {\n "type": "null"\n },\n "raw_trace": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "event_id": {\n "pattern": "^[A-Za-z][A-Za-z0-9._-]{0,63}$",\n "type": "string"\n },\n "location": {\n "additionalProperties": false,\n "properties": {\n "capture_order": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "collection": {\n "enum": [\n "frames",\n "rendered_frames",\n "interaction_events",\n "lifecycle",\n "process_samples",\n "filesystem_checkpoints"\n ],\n "type": "string"\n },\n "index": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "collection",\n "index",\n "capture_order"\n ],\n "type": "object"\n }\n },\n "required": [\n "event_id",\n "location"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "satisfied_constraints": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "status": {\n "enum": [\n "fail",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "satisfied_constraints",\n "raw_trace",\n "status",\n "matched_variant"\n ],\n "type": "object"\n }\n ]\n },\n "right": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "matched_variant": {\n "anyOf": [\n {\n "pattern": "^[A-Za-z][A-Za-z0-9._-]{0,63}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "raw_trace": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "event_id": {\n "pattern": "^[A-Za-z][A-Za-z0-9._-]{0,63}$",\n "type": "string"\n },\n "location": {\n "additionalProperties": false,\n "properties": {\n "capture_order": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "collection": {\n "enum": [\n "frames",\n "rendered_frames",\n "interaction_events",\n "lifecycle",\n "process_samples",\n "filesystem_checkpoints"\n ],\n "type": "string"\n },\n "index": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "collection",\n "index",\n "capture_order"\n ],\n "type": "object"\n }\n },\n "required": [\n "event_id",\n "location"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "satisfied_constraints": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "status": {\n "const": "pass",\n "type": "string"\n }\n },\n "required": [\n "satisfied_constraints",\n "raw_trace",\n "status",\n "matched_variant"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "matched_variant": {\n "type": "null"\n },\n "raw_trace": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "event_id": {\n "pattern": "^[A-Za-z][A-Za-z0-9._-]{0,63}$",\n "type": "string"\n },\n "location": {\n "additionalProperties": false,\n "properties": {\n "capture_order": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "collection": {\n "enum": [\n "frames",\n "rendered_frames",\n "interaction_events",\n "lifecycle",\n "process_samples",\n "filesystem_checkpoints"\n ],\n "type": "string"\n },\n "index": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "collection",\n "index",\n "capture_order"\n ],\n "type": "object"\n }\n },\n "required": [\n "event_id",\n "location"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "satisfied_constraints": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "status": {\n "enum": [\n "fail",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "satisfied_constraints",\n "raw_trace",\n "status",\n "matched_variant"\n ],\n "type": "object"\n }\n ]\n },\n "verdict": {\n "enum": [\n "equivalent",\n "different",\n "nonconforming",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "verdict",\n "left",\n "right",\n "diagnostic"\n ],\n "type": "object"\n }\n },\n "required": [\n "status",\n "terminal",\n "interaction",\n "exit",\n "filesystem",\n "process",\n "first_divergence",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": true,\n "title": "Compare Process Captures"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Compare complete artifact inventories by logical occurrence path, content identity, metadata, and graph relations. Pass the inventory Evidence nested in each inspect_artifact result as left and right. Every delta cites both inputs, and gaps yield truncated or unknown, never equivalence. Returns every change inline.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "left": {\n "authority": "shipped-artifact",\n "confidence": "observed",\n "environment": null,\n "evidence_id": "ev_196e5dd37264f7b088ab8c0be326d22cac37e798bc89c72bcabc2ef9d74eed55",\n "evidence_links": [],\n "limitations": [],\n "locations": [],\n "normalized_result": {\n "edges": [],\n "limitations": [],\n "manifest": {\n "edge_count": 0,\n "graph_sha256": "8fa9468fe1a1a23c968cc1215eac19cce2510530cb8cbdd99b0b93bcd251c586",\n "manifest_id": "agm_aada25a1123169497307a2f381969ca213532b63d2259e999bffe2aa50fe5227",\n "node_count": 1,\n "occurrence_count": 1,\n "root_artifact_id": "art_2827b82d5d864b615b237ca45cf8a10fc5c14a1b73ba5bb8b358dddefc8e9f8c",\n "root_format": "file",\n "root_sha256": "0000000000000000000000000000000000000000000000000000000000000000"\n },\n "nodes": [\n {\n "architecture": null,\n "artifact_id": "art_2827b82d5d864b615b237ca45cf8a10fc5c14a1b73ba5bb8b358dddefc8e9f8c",\n "content_state": "materialized",\n "executable": false,\n "format": "file",\n "kind": "resource",\n "limitations": [],\n "media_type": null,\n "sha256": "0000000000000000000000000000000000000000000000000000000000000000",\n "size": 1\n }\n ],\n "occurrences": [\n {\n "artifact_id": "art_2827b82d5d864b615b237ca45cf8a10fc5c14a1b73ba5bb8b358dddefc8e9f8c",\n "compressed_size": null,\n "declared_size": 1,\n "encrypted": false,\n "entry_kind": "file",\n "executable": false,\n "hash_status": "verified",\n "limitations": [],\n "logical_path": ".",\n "occurrence_id": "occ_273bef4da5057c50b27edf034ffce68d5d9c0c5795778fc3ff41e4e6b3ef5586",\n "parent_occurrence_id": null,\n "source_location": null\n }\n ],\n "provenance": []\n },\n "operation": "inventory_artifact",\n "parameters": {},\n "predicate_type": "rea.analysis",\n "provider": {\n "id": "rea-artifact",\n "name": "REA artifact graph",\n "version": "1"\n },\n "raw_result": null,\n "subject": {\n "architecture": null,\n "digest": {\n "sha256": "0000000000000000000000000000000000000000000000000000000000000000"\n },\n "format": "file",\n "local_path": "fixture-left",\n "name": "fixture-left"\n }\n },\n "right": {\n "authority": "shipped-artifact",\n "confidence": "observed",\n "environment": null,\n "evidence_id": "ev_8c9ecce090f574469d379fb8bb173e65eff08071fa599b37547ed32dcd102a09",\n "evidence_links": [],\n "limitations": [],\n "locations": [],\n "normalized_result": {\n "edges": [],\n "limitations": [],\n "manifest": {\n "edge_count": 0,\n "graph_sha256": "6e02ceaea80d013e00e4c0c30621df60312f00e03dc338ec47f548671f6a7ec4",\n "manifest_id": "agm_6fa9493e8b0d8164b3ca317323aeffc6be1f81e1e7a3cf4e668310093ba8ef73",\n "node_count": 1,\n "occurrence_count": 1,\n "root_artifact_id": "art_96f554e44817506903722ba66b6b001897989fe181ef986478bc023e1fedf4b1",\n "root_format": "file",\n "root_sha256": "1111111111111111111111111111111111111111111111111111111111111111"\n },\n "nodes": [\n {\n "architecture": null,\n "artifact_id": "art_96f554e44817506903722ba66b6b001897989fe181ef986478bc023e1fedf4b1",\n "content_state": "materialized",\n "executable": false,\n "format": "file",\n "kind": "resource",\n "limitations": [],\n "media_type": null,\n "sha256": "1111111111111111111111111111111111111111111111111111111111111111",\n "size": 1\n }\n ],\n "occurrences": [\n {\n "artifact_id": "art_96f554e44817506903722ba66b6b001897989fe181ef986478bc023e1fedf4b1",\n "compressed_size": null,\n "declared_size": 1,\n "encrypted": false,\n "entry_kind": "file",\n "executable": false,\n "hash_status": "verified",\n "limitations": [],\n "logical_path": ".",\n "occurrence_id": "occ_4257a159555da426a3dd9e420ba59795ef3d87d0b1fd93e5cc7d969539519364",\n "parent_occurrence_id": null,\n "source_location": null\n }\n ],\n "provenance": []\n },\n "operation": "inventory_artifact",\n "parameters": {},\n "predicate_type": "rea.analysis",\n "provider": {\n "id": "rea-artifact",\n "name": "REA artifact graph",\n "version": "1"\n },\n "raw_result": null,\n "subject": {\n "architecture": null,\n "digest": {\n "sha256": "1111111111111111111111111111111111111111111111111111111111111111"\n },\n "format": "file",\n "local_path": "fixture-right",\n "name": "fixture-right"\n }\n }\n }\n ],\n "properties": {\n "left": {\n "additionalProperties": false,\n "description": "Left-hand input used for comparison or differential execution.",\n "properties": {\n "analysis_profile": {\n "description": "Value for analysis profile.",\n "properties": {\n "digest": {\n "description": "Value for digest.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "description": "Value for version.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "description": "Value for authority.",\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "description": "Value for confidence.",\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "description": "Value for architecture.",\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "description": "Value for isolation.",\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "description": "Value for platform.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for environment."\n },\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "description": "Value for evidence links.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "description": "Value for locations.",\n "items": {\n "oneOf": [\n {\n "properties": {\n "address": {\n "description": "Value for address.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "artifact-path",\n "description": "Value for kind.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "file-offset",\n "description": "Value for kind.",\n "type": "string"\n },\n "offset": {\n "description": "Value for offset.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0",\n "description": "Value for normalized result."\n },\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "description": "Value for predicate type.",\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for version."\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for raw result."\n },\n "subject": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "digest": {\n "description": "Value for digest.",\n "properties": {\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "description": "Declared input artifact format.",\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "description": "Local filesystem path for local.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for subject."\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "right": {\n "additionalProperties": false,\n "description": "Right-hand input used for comparison or differential execution.",\n "properties": {\n "analysis_profile": {\n "description": "Value for analysis profile.",\n "properties": {\n "digest": {\n "description": "Value for digest.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "description": "Value for version.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "description": "Value for authority.",\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "description": "Value for confidence.",\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "description": "Value for architecture.",\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "description": "Value for isolation.",\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "description": "Value for platform.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for environment."\n },\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "description": "Value for evidence links.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "description": "Value for locations.",\n "items": {\n "oneOf": [\n {\n "properties": {\n "address": {\n "description": "Value for address.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "artifact-path",\n "description": "Value for kind.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "file-offset",\n "description": "Value for kind.",\n "type": "string"\n },\n "offset": {\n "description": "Value for offset.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0",\n "description": "Value for normalized result."\n },\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "description": "Value for predicate type.",\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for version."\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for raw result."\n },\n "subject": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "digest": {\n "description": "Value for digest.",\n "properties": {\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "description": "Declared input artifact format.",\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "description": "Local filesystem path for local.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for subject."\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n }\n },\n "required": [\n "left",\n "right"\n ],\n "type": "object"\n },\n "kind": "session",\n "name": "compare_artifacts",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "changes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "classification": {\n "enum": [\n "added",\n "removed",\n "changed",\n "unknown",\n "contradiction"\n ],\n "type": "string"\n },\n "dimensions": {\n "items": {\n "enum": [\n "content",\n "kind",\n "format",\n "size",\n "executable",\n "relations",\n "metadata",\n "availability",\n "integrity"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 2,\n "type": "array"\n },\n "left_artifact_id": {\n "anyOf": [\n {\n "pattern": "^art_[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "left_occurrence_id": {\n "anyOf": [\n {\n "pattern": "^occ_[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "logical_path": {\n "minLength": 1,\n "type": "string"\n },\n "right_artifact_id": {\n "anyOf": [\n {\n "pattern": "^art_[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "right_occurrence_id": {\n "anyOf": [\n {\n "pattern": "^occ_[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "classification",\n "logical_path",\n "dimensions",\n "left_occurrence_id",\n "right_occurrence_id",\n "left_artifact_id",\n "right_artifact_id",\n "evidence_links"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "left_manifest_id": {\n "pattern": "^agm_[a-f0-9]{64}$",\n "type": "string"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "right_manifest_id": {\n "pattern": "^agm_[a-f0-9]{64}$",\n "type": "string"\n },\n "status": {\n "enum": [\n "unchanged",\n "added",\n "removed",\n "changed",\n "truncated",\n "unknown",\n "contradiction"\n ],\n "type": "string"\n },\n "summary": {\n "additionalProperties": false,\n "properties": {\n "added": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "changed": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "contradiction": {\n "default": 0,\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "removed": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "unchanged": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "unknown": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "unchanged",\n "added",\n "removed",\n "changed",\n "unknown",\n "contradiction"\n ],\n "type": "object"\n }\n },\n "required": [\n "status",\n "left_manifest_id",\n "right_manifest_id",\n "summary",\n "changes",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": true,\n "title": "Compare Artifacts"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Compare two explicit sets of analyze_function Evidence 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.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "left": {\n "authority": "shipped-artifact",\n "confidence": "derived",\n "environment": null,\n "evidence_id": "ev_fd7f0f3851d21e5284b47129d9c7142e2ebeb6ed1c5f91bcff18a781d0b24cb7",\n "evidence_links": [],\n "limitations": [],\n "locations": [],\n "normalized_result": {\n "assembly": [],\n "basic_blocks": [\n {\n "end": "0x1001",\n "start": "0x1000",\n "successors": []\n }\n ],\n "callees": [],\n "callers": [],\n "comments": [],\n "incoming_references": [],\n "outgoing_references": [],\n "procedure": {\n "address": "0x1000",\n "locals": [],\n "name": "main",\n "signature": "int main(void)"\n },\n "pseudocode": "return 0;",\n "referenced_names": [],\n "referenced_strings": []\n },\n "operation": "analyze_function",\n "parameters": {\n "procedure": "main"\n },\n "predicate_type": "rea.analysis",\n "provider": {\n "id": "rea-workflow",\n "name": "REA composed investigation workflow",\n "version": "1"\n },\n "raw_result": null,\n "subject": {\n "architecture": null,\n "digest": {\n "sha256": "0000000000000000000000000000000000000000000000000000000000000000"\n },\n "format": "mach-o",\n "local_path": "/tmp/function-0",\n "name": "function-0"\n }\n },\n "right": {\n "authority": "shipped-artifact",\n "confidence": "derived",\n "environment": null,\n "evidence_id": "ev_79f87eddd8df1d59c6f2e2cd99f21bfae2e5a22fd26c5bf0d0b9ccf9e24b0522",\n "evidence_links": [],\n "limitations": [],\n "locations": [],\n "normalized_result": {\n "assembly": [],\n "basic_blocks": [\n {\n "end": "0x1001",\n "start": "0x1000",\n "successors": []\n }\n ],\n "callees": [],\n "callers": [],\n "comments": [],\n "incoming_references": [],\n "outgoing_references": [],\n "procedure": {\n "address": "0x1000",\n "locals": [],\n "name": "main",\n "signature": "int main(void)"\n },\n "pseudocode": "return 1;",\n "referenced_names": [],\n "referenced_strings": []\n },\n "operation": "analyze_function",\n "parameters": {\n "procedure": "main"\n },\n "predicate_type": "rea.analysis",\n "provider": {\n "id": "rea-workflow",\n "name": "REA composed investigation workflow",\n "version": "1"\n },\n "raw_result": null,\n "subject": {\n "architecture": null,\n "digest": {\n "sha256": "1111111111111111111111111111111111111111111111111111111111111111"\n },\n "format": "mach-o",\n "local_path": "/tmp/function-1",\n "name": "function-1"\n }\n }\n }\n ],\n "properties": {\n "left": {\n "additionalProperties": false,\n "description": "Left-hand input used for comparison or differential execution.",\n "properties": {\n "analysis_profile": {\n "description": "Value for analysis profile.",\n "properties": {\n "digest": {\n "description": "Value for digest.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "description": "Value for version.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "description": "Value for authority.",\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "description": "Value for confidence.",\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "description": "Value for architecture.",\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "description": "Value for isolation.",\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "description": "Value for platform.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for environment."\n },\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "description": "Value for evidence links.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "description": "Value for locations.",\n "items": {\n "oneOf": [\n {\n "properties": {\n "address": {\n "description": "Value for address.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "artifact-path",\n "description": "Value for kind.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "file-offset",\n "description": "Value for kind.",\n "type": "string"\n },\n "offset": {\n "description": "Value for offset.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0",\n "description": "Value for normalized result."\n },\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "description": "Value for predicate type.",\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for version."\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for raw result."\n },\n "subject": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "digest": {\n "description": "Value for digest.",\n "properties": {\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "description": "Declared input artifact format.",\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "description": "Local filesystem path for local.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for subject."\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "right": {\n "additionalProperties": false,\n "description": "Right-hand input used for comparison or differential execution.",\n "properties": {\n "analysis_profile": {\n "description": "Value for analysis profile.",\n "properties": {\n "digest": {\n "description": "Value for digest.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "description": "Value for version.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "description": "Value for authority.",\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "description": "Value for confidence.",\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "description": "Value for architecture.",\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "description": "Value for isolation.",\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "description": "Value for platform.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for environment."\n },\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "description": "Value for evidence links.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "description": "Value for locations.",\n "items": {\n "oneOf": [\n {\n "properties": {\n "address": {\n "description": "Value for address.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "artifact-path",\n "description": "Value for kind.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "file-offset",\n "description": "Value for kind.",\n "type": "string"\n },\n "offset": {\n "description": "Value for offset.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0",\n "description": "Value for normalized result."\n },\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "description": "Value for predicate type.",\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for version."\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for raw result."\n },\n "subject": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "digest": {\n "description": "Value for digest.",\n "properties": {\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "description": "Declared input artifact format.",\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "description": "Local filesystem path for local.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for subject."\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n }\n },\n "required": [\n "left",\n "right"\n ],\n "type": "object"\n },\n "kind": "session",\n "name": "compare_functions",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "changes": {\n "items": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "conclusion_kind": {\n "const": "derived_relationship",\n "type": "string"\n },\n "dimension": {\n "enum": [\n "identity",\n "pseudocode",\n "assembly",\n "comments",\n "calls",\n "references",\n "strings_names",\n "cfg"\n ],\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 2,\n "type": "array"\n },\n "left_count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "left_digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "right_count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "right_digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "status": {\n "const": "unchanged",\n "type": "string"\n },\n "text_delta": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "added_lines": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "hunks": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "removed_lines": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "added_lines",\n "removed_lines",\n "hunks"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "dimension",\n "left_count",\n "right_count",\n "evidence_links",\n "limitations",\n "status",\n "left_digest",\n "right_digest",\n "text_delta",\n "conclusion_kind"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "conclusion_kind": {\n "enum": [\n "derived_relationship",\n "contradiction"\n ],\n "type": "string"\n },\n "dimension": {\n "enum": [\n "identity",\n "pseudocode",\n "assembly",\n "comments",\n "calls",\n "references",\n "strings_names",\n "cfg"\n ],\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 2,\n "type": "array"\n },\n "left_count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "left_digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "right_count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "right_digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "status": {\n "const": "changed",\n "type": "string"\n },\n "text_delta": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "added_lines": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "hunks": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "removed_lines": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "added_lines",\n "removed_lines",\n "hunks"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "dimension",\n "left_count",\n "right_count",\n "evidence_links",\n "limitations",\n "status",\n "left_digest",\n "right_digest",\n "text_delta",\n "conclusion_kind"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "conclusion_kind": {\n "const": "unresolved_branch",\n "type": "string"\n },\n "dimension": {\n "enum": [\n "identity",\n "pseudocode",\n "assembly",\n "comments",\n "calls",\n "references",\n "strings_names",\n "cfg"\n ],\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 2,\n "type": "array"\n },\n "left_count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "left_digest": {\n "type": "null"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "right_count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "right_digest": {\n "type": "null"\n },\n "status": {\n "enum": [\n "truncated",\n "unknown"\n ],\n "type": "string"\n },\n "text_delta": {\n "type": "null"\n }\n },\n "required": [\n "dimension",\n "left_count",\n "right_count",\n "evidence_links",\n "limitations",\n "status",\n "left_digest",\n "right_digest",\n "text_delta",\n "conclusion_kind"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "dimensions": {\n "items": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "conclusion_kind": {\n "const": "derived_relationship",\n "type": "string"\n },\n "dimension": {\n "enum": [\n "identity",\n "pseudocode",\n "assembly",\n "comments",\n "calls",\n "references",\n "strings_names",\n "cfg"\n ],\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 2,\n "type": "array"\n },\n "left_count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "left_digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "right_count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "right_digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "status": {\n "const": "unchanged",\n "type": "string"\n },\n "text_delta": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "added_lines": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "hunks": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "removed_lines": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "added_lines",\n "removed_lines",\n "hunks"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "dimension",\n "left_count",\n "right_count",\n "evidence_links",\n "limitations",\n "status",\n "left_digest",\n "right_digest",\n "text_delta",\n "conclusion_kind"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "conclusion_kind": {\n "enum": [\n "derived_relationship",\n "contradiction"\n ],\n "type": "string"\n },\n "dimension": {\n "enum": [\n "identity",\n "pseudocode",\n "assembly",\n "comments",\n "calls",\n "references",\n "strings_names",\n "cfg"\n ],\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 2,\n "type": "array"\n },\n "left_count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "left_digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "right_count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "right_digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "status": {\n "const": "changed",\n "type": "string"\n },\n "text_delta": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "added_lines": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "hunks": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "removed_lines": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "added_lines",\n "removed_lines",\n "hunks"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "dimension",\n "left_count",\n "right_count",\n "evidence_links",\n "limitations",\n "status",\n "left_digest",\n "right_digest",\n "text_delta",\n "conclusion_kind"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "conclusion_kind": {\n "const": "unresolved_branch",\n "type": "string"\n },\n "dimension": {\n "enum": [\n "identity",\n "pseudocode",\n "assembly",\n "comments",\n "calls",\n "references",\n "strings_names",\n "cfg"\n ],\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 2,\n "type": "array"\n },\n "left_count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "left_digest": {\n "type": "null"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "right_count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "right_digest": {\n "type": "null"\n },\n "status": {\n "enum": [\n "truncated",\n "unknown"\n ],\n "type": "string"\n },\n "text_delta": {\n "type": "null"\n }\n },\n "required": [\n "dimension",\n "left_count",\n "right_count",\n "evidence_links",\n "limitations",\n "status",\n "left_digest",\n "right_digest",\n "text_delta",\n "conclusion_kind"\n ],\n "type": "object"\n }\n ]\n },\n "maxItems": 8,\n "minItems": 8,\n "type": "array"\n },\n "function_match": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "left_name": {\n "type": "string"\n },\n "method": {\n "const": "symbol",\n "type": "string"\n },\n "right_name": {\n "type": "string"\n },\n "status": {\n "const": "matched",\n "type": "string"\n }\n },\n "required": [\n "status",\n "method",\n "left_name",\n "right_name"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "left_name": {\n "type": "string"\n },\n "method": {\n "const": "explicit",\n "type": "string"\n },\n "right_name": {\n "type": "string"\n },\n "status": {\n "enum": [\n "mismatched",\n "ambiguous"\n ],\n "type": "string"\n }\n },\n "required": [\n "status",\n "method",\n "left_name",\n "right_name"\n ],\n "type": "object"\n }\n ]\n },\n "left_subject_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "right_subject_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "status": {\n "enum": [\n "unchanged",\n "changed",\n "truncated",\n "unknown"\n ],\n "type": "string"\n },\n "summary": {\n "additionalProperties": false,\n "properties": {\n "changed": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "truncated": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "unchanged": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "unknown": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "unchanged",\n "changed",\n "truncated",\n "unknown"\n ],\n "type": "object"\n }\n },\n "required": [\n "status",\n "function_match",\n "left_subject_sha256",\n "right_subject_sha256",\n "summary",\n "dimensions",\n "changes",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": true,\n "title": "Compare Functions"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Compare two canonical Evidence 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 returns every change inline.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "left_bundle_path": "/tmp/left-evidence.json",\n "record_pairs": [],\n "right_bundle_path": "/tmp/right-evidence.json"\n }\n ],\n "properties": {\n "left_bundle_path": {\n "description": "Local filesystem path for left bundle.",\n "minLength": 1,\n "type": "string"\n },\n "record_pairs": {\n "default": [],\n "description": "Value for record pairs.",\n "items": {\n "properties": {\n "left_evidence_id": {\n "description": "Exact Evidence identifier for the left observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "right_evidence_id": {\n "description": "Exact Evidence identifier for the right observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "left_evidence_id",\n "right_evidence_id"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "right_bundle_path": {\n "description": "Local filesystem path for right bundle.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "left_bundle_path",\n "right_bundle_path"\n ],\n "type": "object"\n },\n "kind": "session",\n "name": "compare_bundles",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "changes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "classification": {\n "enum": [\n "added",\n "removed",\n "changed",\n "unknown",\n "history_advanced",\n "history_diverged"\n ],\n "type": "string"\n },\n "conclusion_kind": {\n "enum": [\n "observed_change",\n "contradiction",\n "unresolved_branch"\n ],\n "type": "string"\n },\n "entity": {\n "enum": [\n "evidence",\n "residual_unknown"\n ],\n "type": "string"\n },\n "key": {\n "minLength": 1,\n "type": "string"\n },\n "left_digest": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "left_evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "right_digest": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "right_evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n }\n },\n "required": [\n "entity",\n "key",\n "classification",\n "conclusion_kind",\n "left_evidence_ids",\n "right_evidence_ids",\n "left_digest",\n "right_digest",\n "limitations"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "left_bundle_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "right_bundle_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "status": {\n "enum": [\n "unchanged",\n "changed",\n "unknown"\n ],\n "type": "string"\n },\n "summary": {\n "additionalProperties": false,\n "properties": {\n "records_added": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "records_changed": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "records_removed": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "records_unchanged": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "unknowns_added": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "unknowns_advanced": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "unknowns_diverged": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "unknowns_removed": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "unknowns_unchanged": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "unresolved": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "records_unchanged",\n "records_added",\n "records_removed",\n "records_changed",\n "unknowns_unchanged",\n "unknowns_added",\n "unknowns_removed",\n "unknowns_advanced",\n "unknowns_diverged",\n "unresolved"\n ],\n "type": "object"\n }\n },\n "required": [\n "status",\n "left_bundle_sha256",\n "right_bundle_sha256",\n "summary",\n "changes",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": true,\n "title": "Compare Bundles"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Aggregate validated process and artifact comparison Evidence. Runtime observations remain distinct from static behavior candidates; missing or incomplete comparisons produce unresolved findings, never causal claims. Returns every finding inline.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {\n "comparisons": [\n {\n "authority": "analyst-inference",\n "confidence": "derived",\n "environment": null,\n "evidence_id": "ev_cc8049f629a9318e985bee4a547c0ec6646e9d3c2cbbabf4ac9b3758bc3ede86",\n "evidence_links": [\n "ev_fd7f0f3851d21e5284b47129d9c7142e2ebeb6ed1c5f91bcff18a781d0b24cb7",\n "ev_79f87eddd8df1d59c6f2e2cd99f21bfae2e5a22fd26c5bf0d0b9ccf9e24b0522"\n ],\n "limitations": [\n "Artifact identity is unavailable for this observation."\n ],\n "locations": [],\n "normalized_result": {\n "changes": [\n {\n "conclusion_kind": "derived_relationship",\n "dimension": "pseudocode",\n "evidence_links": [\n "ev_fd7f0f3851d21e5284b47129d9c7142e2ebeb6ed1c5f91bcff18a781d0b24cb7",\n "ev_79f87eddd8df1d59c6f2e2cd99f21bfae2e5a22fd26c5bf0d0b9ccf9e24b0522"\n ],\n "left_count": 9,\n "left_digest": "64abdfe133a114158fa0e185d0edec784e6ccf13a166a0fed8bc18bb0cc72554",\n "limitations": [],\n "right_count": 9,\n "right_digest": "c8e26d77640903b2d4c765ebcb7f7170b64dd320dd3911abbe8346e07cd593d1",\n "status": "changed",\n "text_delta": {\n "added_lines": 1,\n "hunks": 2,\n "removed_lines": 1\n }\n }\n ],\n "dimensions": [\n {\n "conclusion_kind": "derived_relationship",\n "dimension": "identity",\n "evidence_links": [\n "ev_fd7f0f3851d21e5284b47129d9c7142e2ebeb6ed1c5f91bcff18a781d0b24cb7",\n "ev_79f87eddd8df1d59c6f2e2cd99f21bfae2e5a22fd26c5bf0d0b9ccf9e24b0522"\n ],\n "left_count": null,\n "left_digest": "dd190a914de1bdf8f4bba97a2e74b439585874c567f28eb0ff41bc5388c66d65",\n "limitations": [],\n "right_count": null,\n "right_digest": "dd190a914de1bdf8f4bba97a2e74b439585874c567f28eb0ff41bc5388c66d65",\n "status": "unchanged",\n "text_delta": null\n },\n {\n "conclusion_kind": "derived_relationship",\n "dimension": "pseudocode",\n "evidence_links": [\n "ev_fd7f0f3851d21e5284b47129d9c7142e2ebeb6ed1c5f91bcff18a781d0b24cb7",\n "ev_79f87eddd8df1d59c6f2e2cd99f21bfae2e5a22fd26c5bf0d0b9ccf9e24b0522"\n ],\n "left_count": 9,\n "left_digest": "64abdfe133a114158fa0e185d0edec784e6ccf13a166a0fed8bc18bb0cc72554",\n "limitations": [],\n "right_count": 9,\n "right_digest": "c8e26d77640903b2d4c765ebcb7f7170b64dd320dd3911abbe8346e07cd593d1",\n "status": "changed",\n "text_delta": {\n "added_lines": 1,\n "hunks": 2,\n "removed_lines": 1\n }\n },\n {\n "conclusion_kind": "derived_relationship",\n "dimension": "assembly",\n "evidence_links": [\n "ev_fd7f0f3851d21e5284b47129d9c7142e2ebeb6ed1c5f91bcff18a781d0b24cb7",\n "ev_79f87eddd8df1d59c6f2e2cd99f21bfae2e5a22fd26c5bf0d0b9ccf9e24b0522"\n ],\n "left_count": 0,\n "left_digest": "12ae32cb1ec02d01eda3581b127c1fee3b0dc53572ed6baf239721a03d82e126",\n "limitations": [\n "Assembly is opaque provider text; relocation normalization is unavailable."\n ],\n "right_count": 0,\n "right_digest": "12ae32cb1ec02d01eda3581b127c1fee3b0dc53572ed6baf239721a03d82e126",\n "status": "unchanged",\n "text_delta": {\n "added_lines": 0,\n "hunks": 0,\n "removed_lines": 0\n }\n },\n {\n "conclusion_kind": "derived_relationship",\n "dimension": "comments",\n "evidence_links": [\n "ev_fd7f0f3851d21e5284b47129d9c7142e2ebeb6ed1c5f91bcff18a781d0b24cb7",\n "ev_79f87eddd8df1d59c6f2e2cd99f21bfae2e5a22fd26c5bf0d0b9ccf9e24b0522"\n ],\n "left_count": 0,\n "left_digest": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",\n "limitations": [],\n "right_count": 0,\n "right_digest": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",\n "status": "unchanged",\n "text_delta": null\n },\n {\n "conclusion_kind": "derived_relationship",\n "dimension": "calls",\n "evidence_links": [\n "ev_fd7f0f3851d21e5284b47129d9c7142e2ebeb6ed1c5f91bcff18a781d0b24cb7",\n "ev_79f87eddd8df1d59c6f2e2cd99f21bfae2e5a22fd26c5bf0d0b9ccf9e24b0522"\n ],\n "left_count": 0,\n "left_digest": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",\n "limitations": [],\n "right_count": 0,\n "right_digest": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",\n "status": "unchanged",\n "text_delta": null\n },\n {\n "conclusion_kind": "derived_relationship",\n "dimension": "references",\n "evidence_links": [\n "ev_fd7f0f3851d21e5284b47129d9c7142e2ebeb6ed1c5f91bcff18a781d0b24cb7",\n "ev_79f87eddd8df1d59c6f2e2cd99f21bfae2e5a22fd26c5bf0d0b9ccf9e24b0522"\n ],\n "left_count": 0,\n "left_digest": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",\n "limitations": [],\n "right_count": 0,\n "right_digest": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",\n "status": "unchanged",\n "text_delta": null\n },\n {\n "conclusion_kind": "derived_relationship",\n "dimension": "strings_names",\n "evidence_links": [\n "ev_fd7f0f3851d21e5284b47129d9c7142e2ebeb6ed1c5f91bcff18a781d0b24cb7",\n "ev_79f87eddd8df1d59c6f2e2cd99f21bfae2e5a22fd26c5bf0d0b9ccf9e24b0522"\n ],\n "left_count": 0,\n "left_digest": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",\n "limitations": [],\n "right_count": 0,\n "right_digest": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",\n "status": "unchanged",\n "text_delta": null\n },\n {\n "conclusion_kind": "derived_relationship",\n "dimension": "cfg",\n "evidence_links": [\n "ev_fd7f0f3851d21e5284b47129d9c7142e2ebeb6ed1c5f91bcff18a781d0b24cb7",\n "ev_79f87eddd8df1d59c6f2e2cd99f21bfae2e5a22fd26c5bf0d0b9ccf9e24b0522"\n ],\n "left_count": 1,\n "left_digest": "e947121f0d4cb8d2a2468a75a44872a29aa1239e6401712df80cfa36bf7df7a0",\n "limitations": [],\n "right_count": 1,\n "right_digest": "e947121f0d4cb8d2a2468a75a44872a29aa1239e6401712df80cfa36bf7df7a0",\n "status": "unchanged",\n "text_delta": null\n }\n ],\n "function_match": {\n "left_name": "main",\n "method": "symbol",\n "right_name": "main",\n "status": "matched"\n },\n "left_subject_sha256": "0000000000000000000000000000000000000000000000000000000000000000",\n "limitations": [],\n "right_subject_sha256": "1111111111111111111111111111111111111111111111111111111111111111",\n "status": "changed",\n "summary": {\n "changed": 1,\n "truncated": 0,\n "unchanged": 7,\n "unknown": 0\n }\n },\n "operation": "compare_functions",\n "parameters": {\n "left_evidence_id": "ev_fd7f0f3851d21e5284b47129d9c7142e2ebeb6ed1c5f91bcff18a781d0b24cb7",\n "right_evidence_id": "ev_79f87eddd8df1d59c6f2e2cd99f21bfae2e5a22fd26c5bf0d0b9ccf9e24b0522"\n },\n "predicate_type": "rea.function-comparison",\n "provider": {\n "id": "rea-function-comparison",\n "name": "REA function comparison",\n "version": "1"\n },\n "raw_result": null,\n "subject": null\n }\n ]\n }\n ],\n "properties": {\n "comparisons": {\n "default": [],\n "description": "Validated comparison Evidence records to aggregate.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "description": "Value for analysis profile.",\n "properties": {\n "digest": {\n "description": "Value for digest.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "description": "Value for version.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "description": "Value for authority.",\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "description": "Value for confidence.",\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "description": "Value for architecture.",\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "description": "Value for isolation.",\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "description": "Value for platform.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for environment."\n },\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "description": "Value for evidence links.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "description": "Value for locations.",\n "items": {\n "oneOf": [\n {\n "properties": {\n "address": {\n "description": "Value for address.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "artifact-path",\n "description": "Value for kind.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "file-offset",\n "description": "Value for kind.",\n "type": "string"\n },\n "offset": {\n "description": "Value for offset.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0",\n "description": "Value for normalized result."\n },\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "description": "Value for predicate type.",\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for version."\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for raw result."\n },\n "subject": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "digest": {\n "description": "Value for digest.",\n "properties": {\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "description": "Declared input artifact format.",\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "description": "Local filesystem path for local.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for subject."\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "type": "object"\n },\n "kind": "session",\n "name": "find_changed_behavior",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "behavior_status": {\n "enum": [\n "observed_changed",\n "observed_unchanged",\n "unknown",\n "truncated"\n ],\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 3,\n "type": "array"\n },\n "findings": {\n "additionalProperties": false,\n "properties": {\n "items": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "classification": {\n "enum": [\n "observed_change",\n "derived_relationship",\n "contradiction",\n "unresolved_branch"\n ],\n "type": "string"\n },\n "dimension": {\n "minLength": 1,\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 3,\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "scope": {\n "enum": [\n "runtime",\n "protocol",\n "resource",\n "static_candidate"\n ],\n "type": "string"\n },\n "source_comparison_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "status": {\n "enum": [\n "unchanged",\n "added",\n "removed",\n "changed",\n "truncated",\n "unknown",\n "contradiction"\n ],\n "type": "string"\n }\n },\n "required": [\n "scope",\n "dimension",\n "classification",\n "status",\n "source_comparison_id",\n "evidence_links",\n "limitations"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "items"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "summary": {\n "additionalProperties": false,\n "properties": {\n "contradictions": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "observed_changes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "static_candidates": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "unresolved": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "observed_changes",\n "static_candidates",\n "contradictions",\n "unresolved"\n ],\n "type": "object"\n }\n },\n "required": [\n "behavior_status",\n "summary",\n "findings",\n "evidence_links",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": true,\n "title": "Find Changed Behavior"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Build every shortest direct-callee path inline from complete analyze_function Evidence records using exact canonical addresses. Missing dossiers and provider mixing remain unknown; every node and edge cites source Evidence.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {\n "functions": [\n {\n "authority": "shipped-artifact",\n "confidence": "derived",\n "environment": null,\n "evidence_id": "ev_fd7f0f3851d21e5284b47129d9c7142e2ebeb6ed1c5f91bcff18a781d0b24cb7",\n "evidence_links": [],\n "limitations": [],\n "locations": [],\n "normalized_result": {\n "assembly": [],\n "basic_blocks": [\n {\n "end": "0x1001",\n "start": "0x1000",\n "successors": []\n }\n ],\n "callees": [],\n "callers": [],\n "comments": [],\n "incoming_references": [],\n "outgoing_references": [],\n "procedure": {\n "address": "0x1000",\n "locals": [],\n "name": "main",\n "signature": "int main(void)"\n },\n "pseudocode": "return 0;",\n "referenced_names": [],\n "referenced_strings": []\n },\n "operation": "analyze_function",\n "parameters": {\n "procedure": "main"\n },\n "predicate_type": "rea.analysis",\n "provider": {\n "id": "rea-workflow",\n "name": "REA composed investigation workflow",\n "version": "1"\n },\n "raw_result": null,\n "subject": {\n "architecture": null,\n "digest": {\n "sha256": "0000000000000000000000000000000000000000000000000000000000000000"\n },\n "format": "mach-o",\n "local_path": "/tmp/function-0",\n "name": "function-0"\n }\n }\n ],\n "goal": {\n "address": "0x1000"\n },\n "start": {\n "address": "0x1000"\n }\n }\n ],\n "properties": {\n "functions": {\n "description": "Value for functions.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "description": "Value for analysis profile.",\n "properties": {\n "digest": {\n "description": "Value for digest.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "description": "Value for version.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "description": "Value for authority.",\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "description": "Value for confidence.",\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "description": "Value for architecture.",\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "description": "Value for isolation.",\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "description": "Value for platform.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for environment."\n },\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "description": "Value for evidence links.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "description": "Value for locations.",\n "items": {\n "oneOf": [\n {\n "properties": {\n "address": {\n "description": "Value for address.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "artifact-path",\n "description": "Value for kind.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "file-offset",\n "description": "Value for kind.",\n "type": "string"\n },\n "offset": {\n "description": "Value for offset.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0",\n "description": "Value for normalized result."\n },\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "description": "Value for predicate type.",\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for version."\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for raw result."\n },\n "subject": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "digest": {\n "description": "Value for digest.",\n "properties": {\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "description": "Declared input artifact format.",\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "description": "Local filesystem path for local.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for subject."\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "goal": {\n "additionalProperties": false,\n "description": "Value for goal.",\n "properties": {\n "address": {\n "description": "Value for address.",\n "pattern": "^(?:(?:[A-Za-z0-9._~-]|%[0-9a-fA-F]{2})+:)?0[xX][0-9a-fA-F]+$",\n "type": "string"\n }\n },\n "required": [\n "address"\n ],\n "type": "object"\n },\n "start": {\n "additionalProperties": false,\n "description": "Value for start.",\n "properties": {\n "address": {\n "description": "Value for address.",\n "pattern": "^(?:(?:[A-Za-z0-9._~-]|%[0-9a-fA-F]{2})+:)?0[xX][0-9a-fA-F]+$",\n "type": "string"\n }\n },\n "required": [\n "address"\n ],\n "type": "object"\n }\n },\n "required": [\n "functions",\n "start",\n "goal"\n ],\n "type": "object"\n },\n "kind": "session",\n "name": "build_call_path",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "explored": {\n "additionalProperties": false,\n "properties": {\n "depth_reached": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "edges": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "nodes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "nodes",\n "edges",\n "depth_reached"\n ],\n "type": "object"\n },\n "goal": {\n "pattern": "^(?:(?:[A-Za-z0-9._~-]|%[0-9A-F]{2})+:)?0x(?:0|[1-9a-f][0-9a-f]*)$",\n "type": "string"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "paths": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "edges": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "source": {\n "pattern": "^(?:(?:[A-Za-z0-9._~-]|%[0-9A-F]{2})+:)?0x(?:0|[1-9a-f][0-9a-f]*)$",\n "type": "string"\n },\n "target": {\n "pattern": "^(?:(?:[A-Za-z0-9._~-]|%[0-9A-F]{2})+:)?0x(?:0|[1-9a-f][0-9a-f]*)$",\n "type": "string"\n }\n },\n "required": [\n "source",\n "target",\n "evidence_links"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "hops": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "nodes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "pattern": "^(?:(?:[A-Za-z0-9._~-]|%[0-9A-F]{2})+:)?0x(?:0|[1-9a-f][0-9a-f]*)$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "address",\n "name",\n "evidence_links"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "hops",\n "nodes",\n "edges",\n "evidence_links"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "search_scope": {\n "additionalProperties": false,\n "properties": {\n "exhaustive": {\n "type": "boolean"\n }\n },\n "required": [\n "exhaustive"\n ],\n "type": "object"\n },\n "shortest_hops": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "start": {\n "pattern": "^(?:(?:[A-Za-z0-9._~-]|%[0-9A-F]{2})+:)?0x(?:0|[1-9a-f][0-9a-f]*)$",\n "type": "string"\n },\n "status": {\n "const": "found",\n "type": "string"\n }\n },\n "required": [\n "start",\n "goal",\n "explored",\n "evidence_links",\n "limitations",\n "status",\n "shortest_hops",\n "search_scope",\n "paths"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "explored": {\n "additionalProperties": false,\n "properties": {\n "depth_reached": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "edges": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "nodes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "nodes",\n "edges",\n "depth_reached"\n ],\n "type": "object"\n },\n "goal": {\n "pattern": "^(?:(?:[A-Za-z0-9._~-]|%[0-9A-F]{2})+:)?0x(?:0|[1-9a-f][0-9a-f]*)$",\n "type": "string"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "paths": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "search_scope": {\n "additionalProperties": false,\n "properties": {\n "exhaustive": {\n "const": true,\n "type": "boolean"\n }\n },\n "required": [\n "exhaustive"\n ],\n "type": "object"\n },\n "shortest_hops": {\n "type": "null"\n },\n "start": {\n "pattern": "^(?:(?:[A-Za-z0-9._~-]|%[0-9A-F]{2})+:)?0x(?:0|[1-9a-f][0-9a-f]*)$",\n "type": "string"\n },\n "status": {\n "const": "not_found",\n "type": "string"\n }\n },\n "required": [\n "start",\n "goal",\n "explored",\n "evidence_links",\n "limitations",\n "status",\n "shortest_hops",\n "search_scope",\n "paths"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "explored": {\n "additionalProperties": false,\n "properties": {\n "depth_reached": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "edges": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "nodes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "nodes",\n "edges",\n "depth_reached"\n ],\n "type": "object"\n },\n "goal": {\n "pattern": "^(?:(?:[A-Za-z0-9._~-]|%[0-9A-F]{2})+:)?0x(?:0|[1-9a-f][0-9a-f]*)$",\n "type": "string"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "paths": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "search_scope": {\n "additionalProperties": false,\n "properties": {\n "exhaustive": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "exhaustive"\n ],\n "type": "object"\n },\n "shortest_hops": {\n "type": "null"\n },\n "start": {\n "pattern": "^(?:(?:[A-Za-z0-9._~-]|%[0-9A-F]{2})+:)?0x(?:0|[1-9a-f][0-9a-f]*)$",\n "type": "string"\n },\n "status": {\n "const": "unknown",\n "type": "string"\n }\n },\n "required": [\n "start",\n "goal",\n "explored",\n "evidence_links",\n "limitations",\n "status",\n "shortest_hops",\n "search_scope",\n "paths"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": true,\n "title": "Build Call Path"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Evaluate every explicit caller-declared hypothesis 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. Returns all correlations and their complete Evidence closure inline.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "mappings": [\n {\n "hypothesis": {\n "expected_pattern": "static_only",\n "statement": "Static implementation changed without terminal change."\n },\n "runtime": {\n "comparison_evidence_id": "ev_7b90781a4b4c9006d4eee122009b3baed342e442ad2ad62498bf9e7df850355c",\n "dimension": "terminal"\n },\n "side_alignment": "left_to_left",\n "static": {\n "comparison_evidence_id": "ev_cc8049f629a9318e985bee4a547c0ec6646e9d3c2cbbabf4ac9b3758bc3ede86",\n "selector": {\n "dimension": "pseudocode",\n "kind": "function"\n }\n }\n }\n ],\n "runtime_comparisons": [\n {\n "authority": "analyst-inference",\n "confidence": "derived",\n "environment": null,\n "evidence_id": "ev_7b90781a4b4c9006d4eee122009b3baed342e442ad2ad62498bf9e7df850355c",\n "evidence_links": [\n "ev_39dc6ca57fd8d981c0bce63a1de75dd752e0ae47ff911440949cba8f6a8f1b7c",\n "ev_434bd49ec7096a6a955adb869d0f38ae3cb62f1256376ca87ca7ca983e5ef538"\n ],\n "limitations": [\n "Artifact identity is unavailable for this observation."\n ],\n "locations": [],\n "normalized_result": {\n "exit": "unchanged",\n "filesystem": "unchanged",\n "first_divergence": {\n "status": "none"\n },\n "interaction": "unchanged",\n "limitations": [],\n "process": "unchanged",\n "status": "unchanged",\n "terminal": "unchanged"\n },\n "operation": "compare_process_captures",\n "parameters": {\n "left_evidence_id": "ev_39dc6ca57fd8d981c0bce63a1de75dd752e0ae47ff911440949cba8f6a8f1b7c",\n "left_normalization": {\n "paths": true,\n "patterns": [],\n "pids": true,\n "ports": true,\n "time_bucket_ms": 10\n },\n "right_evidence_id": "ev_434bd49ec7096a6a955adb869d0f38ae3cb62f1256376ca87ca7ca983e5ef538",\n "right_normalization": {\n "paths": true,\n "patterns": [],\n "pids": true,\n "ports": true,\n "time_bucket_ms": 10\n }\n },\n "predicate_type": "rea.process-comparison",\n "provider": {\n "id": "rea-process",\n "name": "REA deterministic process harness",\n "version": "3"\n },\n "raw_result": null,\n "subject": null\n }\n ],\n "static_comparisons": [\n {\n "authority": "analyst-inference",\n "confidence": "derived",\n "environment": null,\n "evidence_id": "ev_cc8049f629a9318e985bee4a547c0ec6646e9d3c2cbbabf4ac9b3758bc3ede86",\n "evidence_links": [\n "ev_fd7f0f3851d21e5284b47129d9c7142e2ebeb6ed1c5f91bcff18a781d0b24cb7",\n "ev_79f87eddd8df1d59c6f2e2cd99f21bfae2e5a22fd26c5bf0d0b9ccf9e24b0522"\n ],\n "limitations": [\n "Artifact identity is unavailable for this observation."\n ],\n "locations": [],\n "normalized_result": {\n "changes": [\n {\n "conclusion_kind": "derived_relationship",\n "dimension": "pseudocode",\n "evidence_links": [\n "ev_fd7f0f3851d21e5284b47129d9c7142e2ebeb6ed1c5f91bcff18a781d0b24cb7",\n "ev_79f87eddd8df1d59c6f2e2cd99f21bfae2e5a22fd26c5bf0d0b9ccf9e24b0522"\n ],\n "left_count": 9,\n "left_digest": "64abdfe133a114158fa0e185d0edec784e6ccf13a166a0fed8bc18bb0cc72554",\n "limitations": [],\n "right_count": 9,\n "right_digest": "c8e26d77640903b2d4c765ebcb7f7170b64dd320dd3911abbe8346e07cd593d1",\n "status": "changed",\n "text_delta": {\n "added_lines": 1,\n "hunks": 2,\n "removed_lines": 1\n }\n }\n ],\n "dimensions": [\n {\n "conclusion_kind": "derived_relationship",\n "dimension": "identity",\n "evidence_links": [\n "ev_fd7f0f3851d21e5284b47129d9c7142e2ebeb6ed1c5f91bcff18a781d0b24cb7",\n "ev_79f87eddd8df1d59c6f2e2cd99f21bfae2e5a22fd26c5bf0d0b9ccf9e24b0522"\n ],\n "left_count": null,\n "left_digest": "dd190a914de1bdf8f4bba97a2e74b439585874c567f28eb0ff41bc5388c66d65",\n "limitations": [],\n "right_count": null,\n "right_digest": "dd190a914de1bdf8f4bba97a2e74b439585874c567f28eb0ff41bc5388c66d65",\n "status": "unchanged",\n "text_delta": null\n },\n {\n "conclusion_kind": "derived_relationship",\n "dimension": "pseudocode",\n "evidence_links": [\n "ev_fd7f0f3851d21e5284b47129d9c7142e2ebeb6ed1c5f91bcff18a781d0b24cb7",\n "ev_79f87eddd8df1d59c6f2e2cd99f21bfae2e5a22fd26c5bf0d0b9ccf9e24b0522"\n ],\n "left_count": 9,\n "left_digest": "64abdfe133a114158fa0e185d0edec784e6ccf13a166a0fed8bc18bb0cc72554",\n "limitations": [],\n "right_count": 9,\n "right_digest": "c8e26d77640903b2d4c765ebcb7f7170b64dd320dd3911abbe8346e07cd593d1",\n "status": "changed",\n "text_delta": {\n "added_lines": 1,\n "hunks": 2,\n "removed_lines": 1\n }\n },\n {\n "conclusion_kind": "derived_relationship",\n "dimension": "assembly",\n "evidence_links": [\n "ev_fd7f0f3851d21e5284b47129d9c7142e2ebeb6ed1c5f91bcff18a781d0b24cb7",\n "ev_79f87eddd8df1d59c6f2e2cd99f21bfae2e5a22fd26c5bf0d0b9ccf9e24b0522"\n ],\n "left_count": 0,\n "left_digest": "12ae32cb1ec02d01eda3581b127c1fee3b0dc53572ed6baf239721a03d82e126",\n "limitations": [\n "Assembly is opaque provider text; relocation normalization is unavailable."\n ],\n "right_count": 0,\n "right_digest": "12ae32cb1ec02d01eda3581b127c1fee3b0dc53572ed6baf239721a03d82e126",\n "status": "unchanged",\n "text_delta": {\n "added_lines": 0,\n "hunks": 0,\n "removed_lines": 0\n }\n },\n {\n "conclusion_kind": "derived_relationship",\n "dimension": "comments",\n "evidence_links": [\n "ev_fd7f0f3851d21e5284b47129d9c7142e2ebeb6ed1c5f91bcff18a781d0b24cb7",\n "ev_79f87eddd8df1d59c6f2e2cd99f21bfae2e5a22fd26c5bf0d0b9ccf9e24b0522"\n ],\n "left_count": 0,\n "left_digest": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",\n "limitations": [],\n "right_count": 0,\n "right_digest": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",\n "status": "unchanged",\n "text_delta": null\n },\n {\n "conclusion_kind": "derived_relationship",\n "dimension": "calls",\n "evidence_links": [\n "ev_fd7f0f3851d21e5284b47129d9c7142e2ebeb6ed1c5f91bcff18a781d0b24cb7",\n "ev_79f87eddd8df1d59c6f2e2cd99f21bfae2e5a22fd26c5bf0d0b9ccf9e24b0522"\n ],\n "left_count": 0,\n "left_digest": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",\n "limitations": [],\n "right_count": 0,\n "right_digest": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",\n "status": "unchanged",\n "text_delta": null\n },\n {\n "conclusion_kind": "derived_relationship",\n "dimension": "references",\n "evidence_links": [\n "ev_fd7f0f3851d21e5284b47129d9c7142e2ebeb6ed1c5f91bcff18a781d0b24cb7",\n "ev_79f87eddd8df1d59c6f2e2cd99f21bfae2e5a22fd26c5bf0d0b9ccf9e24b0522"\n ],\n "left_count": 0,\n "left_digest": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",\n "limitations": [],\n "right_count": 0,\n "right_digest": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",\n "status": "unchanged",\n "text_delta": null\n },\n {\n "conclusion_kind": "derived_relationship",\n "dimension": "strings_names",\n "evidence_links": [\n "ev_fd7f0f3851d21e5284b47129d9c7142e2ebeb6ed1c5f91bcff18a781d0b24cb7",\n "ev_79f87eddd8df1d59c6f2e2cd99f21bfae2e5a22fd26c5bf0d0b9ccf9e24b0522"\n ],\n "left_count": 0,\n "left_digest": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",\n "limitations": [],\n "right_count": 0,\n "right_digest": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",\n "status": "unchanged",\n "text_delta": null\n },\n {\n "conclusion_kind": "derived_relationship",\n "dimension": "cfg",\n "evidence_links": [\n "ev_fd7f0f3851d21e5284b47129d9c7142e2ebeb6ed1c5f91bcff18a781d0b24cb7",\n "ev_79f87eddd8df1d59c6f2e2cd99f21bfae2e5a22fd26c5bf0d0b9ccf9e24b0522"\n ],\n "left_count": 1,\n "left_digest": "e947121f0d4cb8d2a2468a75a44872a29aa1239e6401712df80cfa36bf7df7a0",\n "limitations": [],\n "right_count": 1,\n "right_digest": "e947121f0d4cb8d2a2468a75a44872a29aa1239e6401712df80cfa36bf7df7a0",\n "status": "unchanged",\n "text_delta": null\n }\n ],\n "function_match": {\n "left_name": "main",\n "method": "symbol",\n "right_name": "main",\n "status": "matched"\n },\n "left_subject_sha256": "0000000000000000000000000000000000000000000000000000000000000000",\n "limitations": [],\n "right_subject_sha256": "1111111111111111111111111111111111111111111111111111111111111111",\n "status": "changed",\n "summary": {\n "changed": 1,\n "truncated": 0,\n "unchanged": 7,\n "unknown": 0\n }\n },\n "operation": "compare_functions",\n "parameters": {\n "left_evidence_id": "ev_fd7f0f3851d21e5284b47129d9c7142e2ebeb6ed1c5f91bcff18a781d0b24cb7",\n "right_evidence_id": "ev_79f87eddd8df1d59c6f2e2cd99f21bfae2e5a22fd26c5bf0d0b9ccf9e24b0522"\n },\n "predicate_type": "rea.function-comparison",\n "provider": {\n "id": "rea-function-comparison",\n "name": "REA function comparison",\n "version": "1"\n },\n "raw_result": null,\n "subject": null\n }\n ]\n }\n ],\n "properties": {\n "mappings": {\n "description": "Value for mappings.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "hypothesis": {\n "additionalProperties": false,\n "description": "Value for hypothesis.",\n "properties": {\n "expected_pattern": {\n "description": "Expected pattern used to reject stale or mismatched input.",\n "enum": [\n "cochanged",\n "static_only",\n "runtime_only",\n "both_unchanged"\n ],\n "type": "string"\n },\n "statement": {\n "description": "Value for statement.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "statement",\n "expected_pattern"\n ],\n "type": "object"\n },\n "runtime": {\n "additionalProperties": false,\n "description": "Value for runtime.",\n "properties": {\n "comparison_evidence_id": {\n "description": "Exact Evidence identifier for the comparison observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "dimension": {\n "description": "Value for dimension.",\n "enum": [\n "terminal",\n "interaction",\n "exit",\n "filesystem",\n "process"\n ],\n "type": "string"\n }\n },\n "required": [\n "comparison_evidence_id",\n "dimension"\n ],\n "type": "object"\n },\n "side_alignment": {\n "description": "Value for side alignment.",\n "enum": [\n "left_to_left",\n "left_to_right"\n ],\n "type": "string"\n },\n "static": {\n "additionalProperties": false,\n "description": "Value for static.",\n "properties": {\n "comparison_evidence_id": {\n "description": "Exact Evidence identifier for the comparison observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "selector": {\n "description": "Value for selector.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact",\n "description": "Value for kind.",\n "type": "string"\n },\n "logical_path": {\n "description": "Local filesystem path for logical.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "logical_path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "dimension": {\n "description": "Value for dimension.",\n "enum": [\n "identity",\n "pseudocode",\n "assembly",\n "comments",\n "calls",\n "references",\n "strings_names",\n "cfg"\n ],\n "type": "string"\n },\n "kind": {\n "const": "function",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "dimension"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "comparison_evidence_id",\n "selector"\n ],\n "type": "object"\n }\n },\n "required": [\n "static",\n "runtime",\n "side_alignment",\n "hypothesis"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "runtime_comparisons": {\n "description": "Value for runtime comparisons.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "description": "Value for analysis profile.",\n "properties": {\n "digest": {\n "description": "Value for digest.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "description": "Value for version.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "description": "Value for authority.",\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "description": "Value for confidence.",\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "description": "Value for architecture.",\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "description": "Value for isolation.",\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "description": "Value for platform.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for environment."\n },\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "description": "Value for evidence links.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "description": "Value for locations.",\n "items": {\n "oneOf": [\n {\n "properties": {\n "address": {\n "description": "Value for address.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "artifact-path",\n "description": "Value for kind.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "file-offset",\n "description": "Value for kind.",\n "type": "string"\n },\n "offset": {\n "description": "Value for offset.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0",\n "description": "Value for normalized result."\n },\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "description": "Value for predicate type.",\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for version."\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for raw result."\n },\n "subject": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "digest": {\n "description": "Value for digest.",\n "properties": {\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "description": "Declared input artifact format.",\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "description": "Local filesystem path for local.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for subject."\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "static_comparisons": {\n "description": "Value for static comparisons.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "description": "Value for analysis profile.",\n "properties": {\n "digest": {\n "description": "Value for digest.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "description": "Value for version.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "description": "Value for authority.",\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "description": "Value for confidence.",\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "description": "Value for architecture.",\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "description": "Value for isolation.",\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "description": "Value for platform.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for environment."\n },\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "description": "Value for evidence links.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "description": "Value for locations.",\n "items": {\n "oneOf": [\n {\n "properties": {\n "address": {\n "description": "Value for address.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "artifact-path",\n "description": "Value for kind.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "file-offset",\n "description": "Value for kind.",\n "type": "string"\n },\n "offset": {\n "description": "Value for offset.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0",\n "description": "Value for normalized result."\n },\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "description": "Value for predicate type.",\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for version."\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for raw result."\n },\n "subject": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "digest": {\n "description": "Value for digest.",\n "properties": {\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "description": "Declared input artifact format.",\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "description": "Local filesystem path for local.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for subject."\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "static_comparisons",\n "runtime_comparisons",\n "mappings"\n ],\n "type": "object"\n },\n "kind": "session",\n "name": "correlate_static_and_runtime",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "correlations": {\n "additionalProperties": false,\n "properties": {\n "items": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "classification": {\n "enum": [\n "hypothesis",\n "contradiction",\n "unresolved_branch"\n ],\n "type": "string"\n },\n "correlation_id": {\n "pattern": "^cor_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 2,\n "type": "array"\n },\n "hypothesis": {\n "additionalProperties": false,\n "properties": {\n "expected_pattern": {\n "enum": [\n "cochanged",\n "static_only",\n "runtime_only",\n "both_unchanged"\n ],\n "type": "string"\n },\n "statement": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "statement",\n "expected_pattern"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "observed_pattern": {\n "enum": [\n "cochanged",\n "static_only",\n "runtime_only",\n "both_unchanged",\n "unknown",\n "truncated"\n ],\n "type": "string"\n },\n "runtime": {\n "additionalProperties": false,\n "properties": {\n "comparison_evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "dimension": {\n "enum": [\n "terminal",\n "interaction",\n "exit",\n "filesystem",\n "process"\n ],\n "type": "string"\n },\n "status": {\n "enum": [\n "unchanged",\n "added",\n "removed",\n "changed",\n "truncated",\n "unknown",\n "contradiction"\n ],\n "type": "string"\n }\n },\n "required": [\n "comparison_evidence_id",\n "dimension",\n "status"\n ],\n "type": "object"\n },\n "side_alignment": {\n "enum": [\n "left_to_left",\n "left_to_right"\n ],\n "type": "string"\n },\n "static": {\n "additionalProperties": false,\n "properties": {\n "comparison_evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "conclusion_kind": {\n "enum": [\n "derived_relationship",\n "contradiction",\n "unresolved_branch"\n ],\n "type": "string"\n },\n "selector": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact",\n "type": "string"\n },\n "logical_path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "logical_path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "dimension": {\n "enum": [\n "identity",\n "pseudocode",\n "assembly",\n "comments",\n "calls",\n "references",\n "strings_names",\n "cfg"\n ],\n "type": "string"\n },\n "kind": {\n "const": "function",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "dimension"\n ],\n "type": "object"\n }\n ]\n },\n "status": {\n "enum": [\n "unchanged",\n "added",\n "removed",\n "changed",\n "truncated",\n "unknown",\n "contradiction"\n ],\n "type": "string"\n }\n },\n "required": [\n "comparison_evidence_id",\n "selector",\n "status",\n "conclusion_kind"\n ],\n "type": "object"\n }\n },\n "required": [\n "correlation_id",\n "static",\n "runtime",\n "side_alignment",\n "hypothesis",\n "observed_pattern",\n "classification",\n "evidence_links",\n "limitations"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "items"\n ],\n "type": "object"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 2,\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "status": {\n "enum": [\n "correlated",\n "contradicted",\n "unknown",\n "truncated"\n ],\n "type": "string"\n },\n "summary": {\n "additionalProperties": false,\n "properties": {\n "contradictions": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "hypotheses": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "unresolved": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "hypotheses",\n "contradictions",\n "unresolved"\n ],\n "type": "object"\n }\n },\n "required": [\n "status",\n "summary",\n "correlations",\n "evidence_links",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": true,\n "title": "Correlate Static And Runtime"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "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.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "specification": {\n "claims": [\n {\n "claim_id": "terminal-output",\n "comparison_evidence_id": "ev_7b90781a4b4c9006d4eee122009b3baed342e442ad2ad62498bf9e7df850355c",\n "dimension": "terminal",\n "kind": "behavioral",\n "title": "Terminal output remains equivalent"\n }\n ],\n "name": "Terminal compatibility"\n }\n }\n ],\n "properties": {\n "specification": {\n "description": "Value for specification.",\n "properties": {\n "claims": {\n "description": "Value for claims.",\n "items": {\n "oneOf": [\n {\n "properties": {\n "claim_id": {\n "description": "Value for claim id.",\n "pattern": "^[A-Za-z][A-Za-z0-9._-]*$",\n "type": "string"\n },\n "comparison_evidence_id": {\n "description": "Exact Evidence identifier for the comparison observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "dimension": {\n "description": "Value for dimension.",\n "enum": [\n "overall",\n "terminal",\n "interaction",\n "exit",\n "filesystem",\n "process"\n ],\n "type": "string"\n },\n "kind": {\n "const": "behavioral",\n "description": "Value for kind.",\n "type": "string"\n },\n "title": {\n "description": "Value for title.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "claim_id",\n "title",\n "comparison_evidence_id",\n "kind",\n "dimension"\n ],\n "type": "object"\n },\n {\n "properties": {\n "claim_id": {\n "description": "Value for claim id.",\n "pattern": "^[A-Za-z][A-Za-z0-9._-]*$",\n "type": "string"\n },\n "comparison_evidence_id": {\n "description": "Exact Evidence identifier for the comparison observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "dimension": {\n "description": "Value for dimension.",\n "enum": [\n "overall",\n "identity",\n "pseudocode",\n "assembly",\n "comments",\n "calls",\n "references",\n "strings_names",\n "cfg"\n ],\n "type": "string"\n },\n "kind": {\n "const": "structural-function",\n "description": "Value for kind.",\n "type": "string"\n },\n "title": {\n "description": "Value for title.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "claim_id",\n "title",\n "comparison_evidence_id",\n "kind",\n "dimension"\n ],\n "type": "object"\n },\n {\n "properties": {\n "claim_id": {\n "description": "Value for claim id.",\n "pattern": "^[A-Za-z][A-Za-z0-9._-]*$",\n "type": "string"\n },\n "comparison_evidence_id": {\n "description": "Exact Evidence identifier for the comparison observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "dimension": {\n "const": "overall",\n "description": "Value for dimension.",\n "type": "string"\n },\n "kind": {\n "const": "structural-artifact",\n "description": "Value for kind.",\n "type": "string"\n },\n "title": {\n "description": "Value for title.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "claim_id",\n "title",\n "comparison_evidence_id",\n "kind",\n "dimension"\n ],\n "type": "object"\n }\n ]\n },\n "minItems": 1,\n "type": "array"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "claims"\n ],\n "type": "object"\n }\n },\n "required": [\n "specification"\n ],\n "type": "object"\n },\n "kind": "session",\n "name": "verify_reconstruction",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "claims": {\n "additionalProperties": false,\n "properties": {\n "items": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "claim_id": {\n "pattern": "^[A-Za-z][A-Za-z0-9._-]*$",\n "type": "string"\n },\n "comparison_evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "dimension": {\n "minLength": 1,\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 3,\n "type": "array"\n },\n "kind": {\n "enum": [\n "behavioral",\n "structural-function",\n "structural-artifact"\n ],\n "type": "string"\n },\n "left_evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "observed_status": {\n "enum": [\n "unchanged",\n "added",\n "removed",\n "changed",\n "truncated",\n "unknown",\n "contradiction"\n ],\n "type": "string"\n },\n "right_evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "status": {\n "enum": [\n "pass",\n "fail",\n "unknown"\n ],\n "type": "string"\n },\n "unknown_ids": {\n "items": {\n "pattern": "^unk_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n }\n },\n "required": [\n "claim_id",\n "kind",\n "dimension",\n "status",\n "observed_status",\n "comparison_evidence_id",\n "left_evidence_ids",\n "right_evidence_ids",\n "evidence_links",\n "unknown_ids",\n "limitations"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "items"\n ],\n "type": "object"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 3,\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "recommended_probes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "claim_ids": {\n "items": {\n "pattern": "^[A-Za-z][A-Za-z0-9._-]*$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "rationale": {\n "minLength": 1,\n "type": "string"\n },\n "unknown_ids": {\n "items": {\n "pattern": "^unk_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n }\n },\n "required": [\n "operation",\n "rationale",\n "claim_ids",\n "unknown_ids"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "specification_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "status": {\n "enum": [\n "pass",\n "fail",\n "unknown"\n ],\n "type": "string"\n },\n "summary": {\n "additionalProperties": false,\n "properties": {\n "behavioral": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "failed": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "passed": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "structural": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "total": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "unknown": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "total",\n "passed",\n "failed",\n "unknown",\n "behavioral",\n "structural"\n ],\n "type": "object"\n }\n },\n "required": [\n "status",\n "specification_sha256",\n "summary",\n "claims",\n "recommended_probes",\n "evidence_links",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": true,\n "title": "Verify Reconstruction"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": true\n },\n "description": "List every current residual-unknown head in deterministic ID order, with optional exact status, severity, and domain filters. Results are complete and inline. This is read-only; unresolved, contradicted, and non-truth dispositions remain distinct.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": false,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {}\n ],\n "properties": {\n "domain": {\n "description": "Value for domain.",\n "minLength": 1,\n "type": "string"\n },\n "severity": {\n "description": "Value for severity.",\n "enum": [\n "low",\n "medium",\n "high",\n "critical"\n ],\n "type": "string"\n },\n "status": {\n "description": "Current lifecycle or verification status.",\n "enum": [\n "open",\n "investigating",\n "blocked",\n "contradicted",\n "resolved"\n ],\n "type": "string"\n }\n },\n "type": "object"\n },\n "kind": "session",\n "name": "list_unknowns",\n "outputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "result": {\n "additionalProperties": false,\n "properties": {\n "items": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "contradicting_evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "domain": {\n "minLength": 1,\n "type": "string"\n },\n "mutation_evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "previous_revision_digest": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "question": {\n "minLength": 1,\n "type": "string"\n },\n "recommended_probes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "rationale": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "operation",\n "rationale"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "relationships": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "type": {\n "enum": [\n "depends-on",\n "related-to",\n "contradicts"\n ],\n "type": "string"\n },\n "unknown_id": {\n "pattern": "^unk_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "type",\n "unknown_id"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "required_authority": {\n "anyOf": [\n {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "required_confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "required_environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "id": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "isolation": {\n "anyOf": [\n {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "platform": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "resolution": {\n "anyOf": [\n {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "disposition": {\n "const": "verified",\n "type": "string"\n },\n "evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "rationale": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "disposition",\n "rationale",\n "evidence_ids"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "disposition": {\n "enum": [\n "withdrawn",\n "out-of-scope"\n ],\n "type": "string"\n },\n "evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "rationale": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "disposition",\n "rationale",\n "evidence_ids"\n ],\n "type": "object"\n }\n ]\n },\n {\n "type": "null"\n }\n ]\n },\n "revision": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "revision_digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "scope_digest": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "severity": {\n "enum": [\n "low",\n "medium",\n "high",\n "critical"\n ],\n "type": "string"\n },\n "status": {\n "enum": [\n "open",\n "investigating",\n "blocked",\n "contradicted",\n "resolved"\n ],\n "type": "string"\n },\n "supporting_evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "unknown_id": {\n "pattern": "^unk_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "unknown_id",\n "revision",\n "previous_revision_digest",\n "revision_digest",\n "scope_digest",\n "question",\n "status",\n "severity",\n "domain",\n "supporting_evidence_ids",\n "contradicting_evidence_ids",\n "required_authority",\n "required_confidence",\n "required_environment",\n "recommended_probes",\n "relationships",\n "resolution",\n "mutation_evidence_ids"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "total": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "items",\n "total"\n ],\n "type": "object"\n }\n },\n "required": [\n "result"\n ],\n "type": "object"\n },\n "requiresSession": true,\n "title": "List Unknowns"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": false,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Create one deterministic residual unknown and immutable mutation evidence. Validates all evidence and relationship references, and rejects duplicate stable identity.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": false,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {\n "contradicting_evidence_ids": [],\n "domain": "protocol",\n "question": "Does this branch require an unavailable external service?",\n "recommended_probes": [\n {\n "operation": "capture_process_scenario",\n "rationale": "Replay branch."\n }\n ],\n "relationships": [],\n "required_authority": "controlled-replay",\n "required_confidence": "observed",\n "required_environment": null,\n "severity": "medium",\n "supporting_evidence_ids": []\n }\n ],\n "properties": {\n "contradicting_evidence_ids": {\n "default": [],\n "description": "Ordered Evidence identifiers for the contradicting observations.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "domain": {\n "description": "Value for domain.",\n "minLength": 1,\n "type": "string"\n },\n "question": {\n "description": "Concrete unresolved question to retain for later investigation.",\n "minLength": 1,\n "type": "string"\n },\n "recommended_probes": {\n "description": "Value for recommended probes.",\n "items": {\n "properties": {\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n },\n "rationale": {\n "description": "Value for rationale.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "operation",\n "rationale"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "relationships": {\n "description": "Value for relationships.",\n "items": {\n "properties": {\n "type": {\n "description": "Value for type.",\n "enum": [\n "depends-on",\n "related-to",\n "contradicts"\n ],\n "type": "string"\n },\n "unknown_id": {\n "description": "Exact residual-unknown identifier.",\n "pattern": "^unk_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "type",\n "unknown_id"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "required_authority": {\n "anyOf": [\n {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for required authority."\n },\n "required_confidence": {\n "description": "Value for required confidence.",\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "required_environment": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "id": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for id."\n },\n "isolation": {\n "anyOf": [\n {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for isolation."\n },\n "platform": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for platform."\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for required environment."\n },\n "severity": {\n "description": "Value for severity.",\n "enum": [\n "low",\n "medium",\n "high",\n "critical"\n ],\n "type": "string"\n },\n "supporting_evidence_ids": {\n "default": [],\n "description": "Ordered Evidence identifiers for the supporting observations.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n }\n },\n "required": [\n "question",\n "severity",\n "domain",\n "required_authority",\n "required_confidence",\n "required_environment",\n "recommended_probes",\n "relationships"\n ],\n "type": "object"\n },\n "kind": "session",\n "name": "record_unknown",\n "outputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "result": {\n "additionalProperties": false,\n "properties": {\n "contradicting_evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "domain": {\n "minLength": 1,\n "type": "string"\n },\n "mutation_evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "previous_revision_digest": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "question": {\n "minLength": 1,\n "type": "string"\n },\n "recommended_probes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "rationale": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "operation",\n "rationale"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "relationships": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "type": {\n "enum": [\n "depends-on",\n "related-to",\n "contradicts"\n ],\n "type": "string"\n },\n "unknown_id": {\n "pattern": "^unk_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "type",\n "unknown_id"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "required_authority": {\n "anyOf": [\n {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "required_confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "required_environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "id": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "isolation": {\n "anyOf": [\n {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "platform": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "resolution": {\n "anyOf": [\n {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "disposition": {\n "const": "verified",\n "type": "string"\n },\n "evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "rationale": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "disposition",\n "rationale",\n "evidence_ids"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "disposition": {\n "enum": [\n "withdrawn",\n "out-of-scope"\n ],\n "type": "string"\n },\n "evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "rationale": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "disposition",\n "rationale",\n "evidence_ids"\n ],\n "type": "object"\n }\n ]\n },\n {\n "type": "null"\n }\n ]\n },\n "revision": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "revision_digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "scope_digest": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "severity": {\n "enum": [\n "low",\n "medium",\n "high",\n "critical"\n ],\n "type": "string"\n },\n "status": {\n "enum": [\n "open",\n "investigating",\n "blocked",\n "contradicted",\n "resolved"\n ],\n "type": "string"\n },\n "supporting_evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "unknown_id": {\n "pattern": "^unk_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "unknown_id",\n "revision",\n "previous_revision_digest",\n "revision_digest",\n "scope_digest",\n "question",\n "status",\n "severity",\n "domain",\n "supporting_evidence_ids",\n "contradicting_evidence_ids",\n "required_authority",\n "required_confidence",\n "required_environment",\n "recommended_probes",\n "relationships",\n "resolution",\n "mutation_evidence_ids"\n ],\n "type": "object"\n }\n },\n "required": [\n "result"\n ],\n "type": "object"\n },\n "requiresSession": true,\n "title": "Record Unknown"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": false,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Append one immutable full-state revision and mutation evidence. Requires exact expected_revision; stale concurrent writers fail instead of overwriting newer analysis.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": false,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {\n "contradicting_evidence_ids": [],\n "expected_revision": 1,\n "recommended_probes": [],\n "relationships": [],\n "required_authority": "controlled-replay",\n "required_confidence": "observed",\n "required_environment": null,\n "resolution": null,\n "severity": "medium",\n "status": "investigating",\n "supporting_evidence_ids": [],\n "unknown_id": "unk_0000000000000000000000000000000000000000000000000000000000000000"\n }\n ],\n "properties": {\n "contradicting_evidence_ids": {\n "description": "Ordered Evidence identifiers for the contradicting observations.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "expected_revision": {\n "description": "Expected revision used to reject stale or mismatched input.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "recommended_probes": {\n "description": "Value for recommended probes.",\n "items": {\n "properties": {\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n },\n "rationale": {\n "description": "Value for rationale.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "operation",\n "rationale"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "relationships": {\n "description": "Value for relationships.",\n "items": {\n "properties": {\n "type": {\n "description": "Value for type.",\n "enum": [\n "depends-on",\n "related-to",\n "contradicts"\n ],\n "type": "string"\n },\n "unknown_id": {\n "description": "Exact residual-unknown identifier.",\n "pattern": "^unk_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "type",\n "unknown_id"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "required_authority": {\n "anyOf": [\n {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for required authority."\n },\n "required_confidence": {\n "description": "Value for required confidence.",\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "required_environment": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "id": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for id."\n },\n "isolation": {\n "anyOf": [\n {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for isolation."\n },\n "platform": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for platform."\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for required environment."\n },\n "resolution": {\n "anyOf": [\n {\n "oneOf": [\n {\n "properties": {\n "disposition": {\n "const": "verified",\n "description": "Value for disposition.",\n "type": "string"\n },\n "evidence_ids": {\n "description": "Value for evidence ids.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "rationale": {\n "description": "Value for rationale.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "disposition",\n "rationale",\n "evidence_ids"\n ],\n "type": "object"\n },\n {\n "properties": {\n "disposition": {\n "description": "Value for disposition.",\n "enum": [\n "withdrawn",\n "out-of-scope"\n ],\n "type": "string"\n },\n "evidence_ids": {\n "description": "Value for evidence ids.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "rationale": {\n "description": "Value for rationale.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "disposition",\n "rationale",\n "evidence_ids"\n ],\n "type": "object"\n }\n ]\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for resolution."\n },\n "severity": {\n "description": "Value for severity.",\n "enum": [\n "low",\n "medium",\n "high",\n "critical"\n ],\n "type": "string"\n },\n "status": {\n "description": "Current lifecycle or verification status.",\n "enum": [\n "open",\n "investigating",\n "blocked",\n "contradicted",\n "resolved"\n ],\n "type": "string"\n },\n "supporting_evidence_ids": {\n "description": "Ordered Evidence identifiers for the supporting observations.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "unknown_id": {\n "description": "Exact residual-unknown identifier.",\n "pattern": "^unk_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "unknown_id",\n "expected_revision",\n "status",\n "severity",\n "supporting_evidence_ids",\n "contradicting_evidence_ids",\n "required_authority",\n "required_confidence",\n "required_environment",\n "recommended_probes",\n "relationships",\n "resolution"\n ],\n "type": "object"\n },\n "kind": "session",\n "name": "update_unknown",\n "outputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "result": {\n "additionalProperties": false,\n "properties": {\n "contradicting_evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "domain": {\n "minLength": 1,\n "type": "string"\n },\n "mutation_evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "previous_revision_digest": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "question": {\n "minLength": 1,\n "type": "string"\n },\n "recommended_probes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "rationale": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "operation",\n "rationale"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "relationships": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "type": {\n "enum": [\n "depends-on",\n "related-to",\n "contradicts"\n ],\n "type": "string"\n },\n "unknown_id": {\n "pattern": "^unk_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "type",\n "unknown_id"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "required_authority": {\n "anyOf": [\n {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "required_confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "required_environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "id": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "isolation": {\n "anyOf": [\n {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "platform": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "resolution": {\n "anyOf": [\n {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "disposition": {\n "const": "verified",\n "type": "string"\n },\n "evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "rationale": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "disposition",\n "rationale",\n "evidence_ids"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "disposition": {\n "enum": [\n "withdrawn",\n "out-of-scope"\n ],\n "type": "string"\n },\n "evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "rationale": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "disposition",\n "rationale",\n "evidence_ids"\n ],\n "type": "object"\n }\n ]\n },\n {\n "type": "null"\n }\n ]\n },\n "revision": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "revision_digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "scope_digest": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "severity": {\n "enum": [\n "low",\n "medium",\n "high",\n "critical"\n ],\n "type": "string"\n },\n "status": {\n "enum": [\n "open",\n "investigating",\n "blocked",\n "contradicted",\n "resolved"\n ],\n "type": "string"\n },\n "supporting_evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "unknown_id": {\n "pattern": "^unk_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "unknown_id",\n "revision",\n "previous_revision_digest",\n "revision_digest",\n "scope_digest",\n "question",\n "status",\n "severity",\n "domain",\n "supporting_evidence_ids",\n "contradicting_evidence_ids",\n "required_authority",\n "required_confidence",\n "required_environment",\n "recommended_probes",\n "relationships",\n "resolution",\n "mutation_evidence_ids"\n ],\n "type": "object"\n }\n },\n "required": [\n "result"\n ],\n "type": "object"\n },\n "requiresSession": true,\n "title": "Update Unknown"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": true\n },\n "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.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": false,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "unknown_id": "unk_0000000000000000000000000000000000000000000000000000000000000000"\n }\n ],\n "properties": {\n "unknown_id": {\n "description": "Exact residual-unknown identifier.",\n "pattern": "^unk_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "unknown_id"\n ],\n "type": "object"\n },\n "kind": "session",\n "name": "verify_unknown_resolution",\n "outputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "result": {\n "additionalProperties": false,\n "properties": {\n "truthVerified": {\n "type": "boolean"\n },\n "unknown": {\n "additionalProperties": false,\n "properties": {\n "contradicting_evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "domain": {\n "minLength": 1,\n "type": "string"\n },\n "mutation_evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "previous_revision_digest": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "question": {\n "minLength": 1,\n "type": "string"\n },\n "recommended_probes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "rationale": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "operation",\n "rationale"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "relationships": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "type": {\n "enum": [\n "depends-on",\n "related-to",\n "contradicts"\n ],\n "type": "string"\n },\n "unknown_id": {\n "pattern": "^unk_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "type",\n "unknown_id"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "required_authority": {\n "anyOf": [\n {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "required_confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "required_environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "id": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "isolation": {\n "anyOf": [\n {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "platform": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "resolution": {\n "anyOf": [\n {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "disposition": {\n "const": "verified",\n "type": "string"\n },\n "evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "rationale": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "disposition",\n "rationale",\n "evidence_ids"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "disposition": {\n "enum": [\n "withdrawn",\n "out-of-scope"\n ],\n "type": "string"\n },\n "evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "rationale": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "disposition",\n "rationale",\n "evidence_ids"\n ],\n "type": "object"\n }\n ]\n },\n {\n "type": "null"\n }\n ]\n },\n "revision": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "revision_digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "scope_digest": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "severity": {\n "enum": [\n "low",\n "medium",\n "high",\n "critical"\n ],\n "type": "string"\n },\n "status": {\n "enum": [\n "open",\n "investigating",\n "blocked",\n "contradicted",\n "resolved"\n ],\n "type": "string"\n },\n "supporting_evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "unknown_id": {\n "pattern": "^unk_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "unknown_id",\n "revision",\n "previous_revision_digest",\n "revision_digest",\n "scope_digest",\n "question",\n "status",\n "severity",\n "domain",\n "supporting_evidence_ids",\n "contradicting_evidence_ids",\n "required_authority",\n "required_confidence",\n "required_environment",\n "recommended_probes",\n "relationships",\n "resolution",\n "mutation_evidence_ids"\n ],\n "type": "object"\n },\n "valid": {\n "type": "boolean"\n }\n },\n "required": [\n "valid",\n "truthVerified",\n "unknown"\n ],\n "type": "object"\n }\n },\n "required": [\n "result"\n ],\n "type": "object"\n },\n "requiresSession": true,\n "title": "Verify Unknown Resolution"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": true\n },\n "description": "Return every Evidence record and residual unknown currently retained by this session as one inline bundle for direct inspection or follow-up workflows.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": false,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {}\n ],\n "properties": {},\n "type": "object"\n },\n "kind": "session",\n "name": "get_evidence_bundle",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "result": {\n "additionalProperties": false,\n "properties": {\n "artifacts": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n }\n },\n "required": [\n "digest",\n "format",\n "architecture"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "captures": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "evidence_id",\n "predicate_type"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "environments": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "providers": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "records": {\n "items": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links",\n "analysis_profile"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "scenarios": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "authority": {\n "const": "controlled-replay",\n "type": "string"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "evidence_id",\n "operation",\n "authority"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "unknowns": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "contradicting_evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "domain": {\n "minLength": 1,\n "type": "string"\n },\n "mutation_evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "previous_revision_digest": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "question": {\n "minLength": 1,\n "type": "string"\n },\n "recommended_probes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "rationale": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "operation",\n "rationale"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "relationships": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "type": {\n "enum": [\n "depends-on",\n "related-to",\n "contradicts"\n ],\n "type": "string"\n },\n "unknown_id": {\n "pattern": "^unk_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "type",\n "unknown_id"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "required_authority": {\n "anyOf": [\n {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "required_confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "required_environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "id": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "isolation": {\n "anyOf": [\n {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "platform": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "resolution": {\n "anyOf": [\n {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "disposition": {\n "const": "verified",\n "type": "string"\n },\n "evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "rationale": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "disposition",\n "rationale",\n "evidence_ids"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "disposition": {\n "enum": [\n "withdrawn",\n "out-of-scope"\n ],\n "type": "string"\n },\n "evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "rationale": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "disposition",\n "rationale",\n "evidence_ids"\n ],\n "type": "object"\n }\n ]\n },\n {\n "type": "null"\n }\n ]\n },\n "revision": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "revision_digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "scope_digest": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "severity": {\n "enum": [\n "low",\n "medium",\n "high",\n "critical"\n ],\n "type": "string"\n },\n "status": {\n "enum": [\n "open",\n "investigating",\n "blocked",\n "contradicted",\n "resolved"\n ],\n "type": "string"\n },\n "supporting_evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "unknown_id": {\n "pattern": "^unk_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "unknown_id",\n "revision",\n "previous_revision_digest",\n "revision_digest",\n "scope_digest",\n "question",\n "status",\n "severity",\n "domain",\n "supporting_evidence_ids",\n "contradicting_evidence_ids",\n "required_authority",\n "required_confidence",\n "required_environment",\n "recommended_probes",\n "relationships",\n "resolution",\n "mutation_evidence_ids"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "artifacts",\n "providers",\n "environments",\n "scenarios",\n "captures",\n "unknowns",\n "records"\n ],\n "type": "object"\n }\n },\n "required": [\n "result"\n ],\n "type": "object"\n },\n "requiresSession": true,\n "title": "Get Evidence Bundle"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Return the selected document, current address, and containing/current procedure in one provider-neutral result. The result reflects sequential provider observations, not an atomic cursor snapshot; a cursor outside any procedure returns procedure: null.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {}\n ],\n "properties": {\n "document": {\n "description": "Exact provider document or program identity.",\n "minLength": 1,\n "type": "string"\n }\n },\n "type": "object"\n },\n "kind": "session",\n "name": "get_navigation_context",\n "outputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "result": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "document": {\n "type": "string"\n },\n "procedure": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "document",\n "address",\n "procedure"\n ],\n "type": "object"\n }\n },\n "required": [\n "result"\n ],\n "type": "object"\n },\n "requiresSession": true,\n "title": "Get Navigation Context"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Inspect one explicit reproducible address for its analyzed name, containing procedure, regular and inline comments, and matching bookmarks. Each unsupported facet returns a typed unavailable outcome; use xrefs, assembly, or pseudocode for those deeper views.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "address": "0x1000"\n }\n ],\n "properties": {\n "address": {\n "description": "Value for address.",\n "minLength": 1,\n "type": "string"\n },\n "document": {\n "description": "Exact provider document or program identity.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "address"\n ],\n "type": "object"\n },\n "kind": "session",\n "name": "inspect_address_context",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "result": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "bookmarks": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "available",\n "type": "string"\n },\n "value": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "name": {\n "type": "string"\n }\n },\n "required": [\n "address",\n "name"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "state",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "type": "string"\n },\n "remediation": {\n "type": "string"\n },\n "state": {\n "const": "unavailable",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason",\n "remediation"\n ],\n "type": "object"\n }\n ]\n },\n "comment": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "available",\n "type": "string"\n },\n "value": {\n "$ref": "#/$defs/__schema0"\n }\n },\n "required": [\n "state",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "type": "string"\n },\n "remediation": {\n "type": "string"\n },\n "state": {\n "const": "unavailable",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason",\n "remediation"\n ],\n "type": "object"\n }\n ]\n },\n "document": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "inline_comment": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "available",\n "type": "string"\n },\n "value": {\n "$ref": "#/$defs/__schema0"\n }\n },\n "required": [\n "state",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "type": "string"\n },\n "remediation": {\n "type": "string"\n },\n "state": {\n "const": "unavailable",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason",\n "remediation"\n ],\n "type": "object"\n }\n ]\n },\n "name": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "available",\n "type": "string"\n },\n "value": {\n "$ref": "#/$defs/__schema0"\n }\n },\n "required": [\n "state",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "type": "string"\n },\n "remediation": {\n "type": "string"\n },\n "state": {\n "const": "unavailable",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason",\n "remediation"\n ],\n "type": "object"\n }\n ]\n },\n "procedure": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "available",\n "type": "string"\n },\n "value": {\n "$ref": "#/$defs/__schema0"\n }\n },\n "required": [\n "state",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "type": "string"\n },\n "remediation": {\n "type": "string"\n },\n "state": {\n "const": "unavailable",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason",\n "remediation"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "address",\n "document",\n "name",\n "procedure",\n "comment",\n "inline_comment",\n "bookmarks"\n ],\n "type": "object"\n }\n },\n "required": [\n "result"\n ],\n "type": "object"\n },\n "requiresSession": true,\n "title": "Inspect Address Context"\n }\n ]\n}'; + '{\n "auxiliaryProviders": [\n {\n "capabilities": [\n {\n "available": true,\n "effects": {\n "changesPermissions": false,\n "launchesProcess": true,\n "mayAccessNetwork": false,\n "mayShowUi": false,\n "mayWriteFilesystem": true,\n "mutatesArtifact": false,\n "requiresRoot": false\n },\n "limitations": [\n "DMG child inventory automatically uses a read-only native macOS mount; PKG remains root-hash-only.",\n "ASAR files discovered in filesystem-backed inventories are expanded without bulk extraction; other nested containers remain recorded only."\n ],\n "operation": "inventory_artifact",\n "provider": {\n "id": "rea-artifact-graph",\n "name": "REA safe artifact graph provider",\n "version": "1"\n },\n "reason": null\n },\n {\n "available": true,\n "effects": {\n "changesPermissions": false,\n "launchesProcess": true,\n "mayAccessNetwork": false,\n "mayShowUi": false,\n "mayWriteFilesystem": true,\n "mutatesArtifact": false,\n "requiresRoot": false\n },\n "limitations": [\n "DMG child inventory automatically uses a read-only native macOS mount; PKG remains root-hash-only.",\n "ASAR files discovered in filesystem-backed inventories are expanded without bulk extraction; other nested containers remain recorded only."\n ],\n "operation": "inspect_artifact",\n "provider": {\n "id": "rea-artifact-graph",\n "name": "REA safe artifact graph provider",\n "version": "1"\n },\n "reason": null\n },\n {\n "available": true,\n "effects": {\n "changesPermissions": false,\n "launchesProcess": true,\n "mayAccessNetwork": false,\n "mayShowUi": false,\n "mayWriteFilesystem": true,\n "mutatesArtifact": false,\n "requiresRoot": false\n },\n "limitations": [\n "DMG child inventory automatically uses a read-only native macOS mount; PKG remains root-hash-only.",\n "ASAR files discovered in filesystem-backed inventories are expanded without bulk extraction; other nested containers remain recorded only."\n ],\n "operation": "extract_artifact",\n "provider": {\n "id": "rea-artifact-graph",\n "name": "REA safe artifact graph provider",\n "version": "1"\n },\n "reason": null\n },\n {\n "available": true,\n "effects": {\n "changesPermissions": false,\n "launchesProcess": false,\n "mayAccessNetwork": false,\n "mayShowUi": false,\n "mayWriteFilesystem": false,\n "mutatesArtifact": false,\n "requiresRoot": false\n },\n "limitations": [\n "DMG child inventory automatically uses a read-only native macOS mount; PKG remains root-hash-only.",\n "ASAR files discovered in filesystem-backed inventories are expanded without bulk extraction; other nested containers remain recorded only."\n ],\n "operation": "decode_interface_builder",\n "provider": {\n "id": "rea-artifact-graph",\n "name": "REA safe artifact graph provider",\n "version": "1"\n },\n "reason": null\n },\n {\n "available": true,\n "effects": {\n "changesPermissions": false,\n "launchesProcess": false,\n "mayAccessNetwork": false,\n "mayShowUi": false,\n "mayWriteFilesystem": false,\n "mutatesArtifact": false,\n "requiresRoot": false\n },\n "limitations": [\n "DMG child inventory automatically uses a read-only native macOS mount; PKG remains root-hash-only.",\n "ASAR files discovered in filesystem-backed inventories are expanded without bulk extraction; other nested containers remain recorded only."\n ],\n "operation": "inspect_keyed_archive",\n "provider": {\n "id": "rea-artifact-graph",\n "name": "REA safe artifact graph provider",\n "version": "1"\n },\n "reason": null\n },\n {\n "available": true,\n "effects": {\n "changesPermissions": false,\n "launchesProcess": true,\n "mayAccessNetwork": false,\n "mayShowUi": false,\n "mayWriteFilesystem": false,\n "mutatesArtifact": false,\n "requiresRoot": false\n },\n "limitations": [\n "DMG child inventory automatically uses a read-only native macOS mount; PKG remains root-hash-only.",\n "ASAR files discovered in filesystem-backed inventories are expanded without bulk extraction; other nested containers remain recorded only."\n ],\n "operation": "inspect_asset_catalog",\n "provider": {\n "id": "rea-artifact-graph",\n "name": "REA safe artifact graph provider",\n "version": "1"\n },\n "reason": null\n }\n ],\n "identity": {\n "id": "rea-artifact-graph",\n "name": "REA safe artifact graph provider",\n "version": "1"\n }\n },\n {\n "capabilities": [\n {\n "available": true,\n "effects": {\n "changesPermissions": false,\n "launchesProcess": true,\n "mayAccessNetwork": false,\n "mayShowUi": false,\n "mayWriteFilesystem": true,\n "mutatesArtifact": false,\n "requiresRoot": false\n },\n "limitations": [\n "Availability and textual formats depend on the installed macOS/Xcode toolchain."\n ],\n "operation": "observe_native_ui",\n "provider": {\n "id": "native-macos",\n "name": "macOS native inspection utilities",\n "version": null\n },\n "reason": null\n },\n {\n "available": true,\n "effects": {\n "changesPermissions": false,\n "launchesProcess": true,\n "mayAccessNetwork": true,\n "mayShowUi": true,\n "mayWriteFilesystem": true,\n "mutatesArtifact": false,\n "requiresRoot": false\n },\n "limitations": [\n "Availability and textual formats depend on the installed macOS/Xcode toolchain."\n ],\n "operation": "capture_native_ui_scenario",\n "provider": {\n "id": "native-macos",\n "name": "macOS native inspection utilities",\n "version": null\n },\n "reason": null\n },\n {\n "available": true,\n "effects": {\n "changesPermissions": false,\n "launchesProcess": true,\n "mayAccessNetwork": false,\n "mayShowUi": false,\n "mayWriteFilesystem": false,\n "mutatesArtifact": false,\n "requiresRoot": false\n },\n "limitations": [\n "Availability and textual formats depend on the installed macOS/Xcode toolchain."\n ],\n "operation": "inspect_macho",\n "provider": {\n "id": "native-macos",\n "name": "macOS native inspection utilities",\n "version": null\n },\n "reason": null\n },\n {\n "available": true,\n "effects": {\n "changesPermissions": false,\n "launchesProcess": true,\n "mayAccessNetwork": false,\n "mayShowUi": false,\n "mayWriteFilesystem": false,\n "mutatesArtifact": false,\n "requiresRoot": false\n },\n "limitations": [\n "Availability and textual formats depend on the installed macOS/Xcode toolchain."\n ],\n "operation": "inspect_signature",\n "provider": {\n "id": "native-macos",\n "name": "macOS native inspection utilities",\n "version": null\n },\n "reason": null\n },\n {\n "available": true,\n "effects": {\n "changesPermissions": false,\n "launchesProcess": true,\n "mayAccessNetwork": false,\n "mayShowUi": false,\n "mayWriteFilesystem": false,\n "mutatesArtifact": false,\n "requiresRoot": false\n },\n "limitations": [\n "Availability and textual formats depend on the installed macOS/Xcode toolchain."\n ],\n "operation": "inspect_plist",\n "provider": {\n "id": "native-macos",\n "name": "macOS native inspection utilities",\n "version": null\n },\n "reason": null\n },\n {\n "available": true,\n "effects": {\n "changesPermissions": false,\n "launchesProcess": true,\n "mayAccessNetwork": false,\n "mayShowUi": false,\n "mayWriteFilesystem": false,\n "mutatesArtifact": false,\n "requiresRoot": false\n },\n "limitations": [\n "Availability and textual formats depend on the installed macOS/Xcode toolchain."\n ],\n "operation": "list_architectures",\n "provider": {\n "id": "native-macos",\n "name": "macOS native inspection utilities",\n "version": null\n },\n "reason": null\n },\n {\n "available": true,\n "effects": {\n "changesPermissions": false,\n "launchesProcess": true,\n "mayAccessNetwork": false,\n "mayShowUi": false,\n "mayWriteFilesystem": false,\n "mutatesArtifact": false,\n "requiresRoot": false\n },\n "limitations": [\n "Availability and textual formats depend on the installed macOS/Xcode toolchain."\n ],\n "operation": "demangle_swift",\n "provider": {\n "id": "native-macos",\n "name": "macOS native inspection utilities",\n "version": null\n },\n "reason": null\n },\n {\n "available": true,\n "effects": {\n "changesPermissions": false,\n "launchesProcess": false,\n "mayAccessNetwork": false,\n "mayShowUi": false,\n "mayWriteFilesystem": false,\n "mutatesArtifact": false,\n "requiresRoot": false\n },\n "limitations": [\n "Availability and textual formats depend on the installed macOS/Xcode toolchain."\n ],\n "operation": "inspect_native_dispatch_metadata",\n "provider": {\n "id": "native-macos",\n "name": "macOS native inspection utilities",\n "version": null\n },\n "reason": null\n }\n ],\n "identity": {\n "id": "native-macos",\n "name": "macOS native inspection utilities",\n "version": null\n }\n },\n {\n "capabilities": [\n {\n "available": true,\n "effects": {\n "changesPermissions": false,\n "launchesProcess": false,\n "mayAccessNetwork": false,\n "mayShowUi": false,\n "mayWriteFilesystem": false,\n "mutatesArtifact": false,\n "requiresRoot": false\n },\n "limitations": [\n "This capability inventories PE/CLI identity only; inspect_managed_members admits metadata members, signatures, and CIL anchors.",\n "It never loads the target assembly, resolves dependencies through a CLR, decompiles C#, or executes target code."\n ],\n "operation": "inspect_managed_artifact",\n "provider": {\n "id": "rea-dotnet-static",\n "name": "REA managed static analysis provider",\n "version": "1"\n },\n "reason": null\n },\n {\n "available": true,\n "effects": {\n "changesPermissions": false,\n "launchesProcess": false,\n "mayAccessNetwork": false,\n "mayShowUi": false,\n "mayWriteFilesystem": false,\n "mutatesArtifact": false,\n "requiresRoot": false\n },\n "limitations": [\n "This capability decodes PE/CLI metadata members, signatures, and file-backed method bodies; decompiled C# reconstruction and cross-build member comparison are separate operations.",\n "It never loads the target assembly, resolves dependencies through a CLR, decompiles C#, or executes target code."\n ],\n "operation": "inspect_managed_members",\n "provider": {\n "id": "rea-dotnet-static",\n "name": "REA managed static analysis provider",\n "version": "1"\n },\n "reason": null\n },\n {\n "available": true,\n "effects": {\n "changesPermissions": false,\n "launchesProcess": false,\n "mayAccessNetwork": false,\n "mayShowUi": false,\n "mayWriteFilesystem": false,\n "mutatesArtifact": false,\n "requiresRoot": false\n },\n "limitations": [\n "This capability inventories managed declarations for native boundaries only; native exports, thunks, and addresses require separate native-provider evidence.",\n "It never loads the target assembly, resolves dependencies through a CLR, decompiles C#, or executes target code."\n ],\n "operation": "inspect_managed_native_boundaries",\n "provider": {\n "id": "rea-dotnet-static",\n "name": "REA managed static analysis provider",\n "version": "1"\n },\n "reason": null\n }\n ],\n "identity": {\n "id": "rea-dotnet-static",\n "name": "REA managed static analysis provider",\n "version": "1"\n }\n }\n ],\n "catalog": [\n {\n "analysisOperation": "annotate_native_function",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": true,\n "readOnlyHint": false\n },\n "description": "Atomically update one function name and/or entry comments, read them back, and return a refreshed complete function dossier. Ghidra changes its ephemeral session analysis database only; original executable bytes remain unchanged. Empty comment text clears that comment. Edits remain available to subsequent MCP calls until close; CLI returns the updated dossier before discarding its session. Invalid edits roll back the entire operation. Windows P0 and providers without this capability are unsupported.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": true,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": true,\n "writesFilesystem": true\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "comment": "Analyst observation",\n "name": "entry",\n "procedure": "0x10100"\n }\n ],\n "properties": {\n "comment": {\n "description": "Regular entry comment; empty text clears it",\n "type": "string"\n },\n "inline_comment": {\n "description": "Inline entry comment; empty text clears it",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "procedure": {\n "description": "Value for procedure.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "procedure"\n ],\n "type": "object"\n },\n "kind": "official-proxy",\n "name": "annotate_native_function",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "annotations": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "comment": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "inline_comment": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "address",\n "name",\n "comment",\n "inline_comment"\n ],\n "type": "object"\n },\n "dossier": {\n "additionalProperties": false,\n "properties": {\n "assembly": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "basic_blocks": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "end": {\n "type": "string"\n },\n "start": {\n "type": "string"\n },\n "successors": {\n "items": {\n "type": "string"\n },\n "type": "array"\n }\n },\n "required": [\n "start",\n "end",\n "successors"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "callees": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "body": {\n "default": {\n "available": false,\n "reason": "The provider did not report complete function body ranges."\n },\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "reason": {\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "contains_entry": {\n "type": "boolean"\n },\n "non_contiguous": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "ranges": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "end": {\n "description": "Inclusive last address of this observed body range.",\n "type": "string"\n },\n "start": {\n "type": "string"\n }\n },\n "required": [\n "start",\n "end"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "span_bytes": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "total_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "available",\n "provenance",\n "ranges",\n "total_bytes",\n "span_bytes",\n "non_contiguous",\n "contains_entry"\n ],\n "type": "object"\n }\n ]\n },\n "classification": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "external": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "thunk": {\n "type": "boolean"\n },\n "thunk_target": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "external",\n "thunk",\n "thunk_target",\n "provenance"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "name": {\n "type": "string"\n }\n },\n "required": [\n "address",\n "name",\n "classification",\n "body"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "callers": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "body": {\n "default": {\n "available": false,\n "reason": "The provider did not report complete function body ranges."\n },\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "reason": {\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "contains_entry": {\n "type": "boolean"\n },\n "non_contiguous": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "ranges": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "end": {\n "description": "Inclusive last address of this observed body range.",\n "type": "string"\n },\n "start": {\n "type": "string"\n }\n },\n "required": [\n "start",\n "end"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "span_bytes": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "total_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "available",\n "provenance",\n "ranges",\n "total_bytes",\n "span_bytes",\n "non_contiguous",\n "contains_entry"\n ],\n "type": "object"\n }\n ]\n },\n "classification": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "external": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "thunk": {\n "type": "boolean"\n },\n "thunk_target": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "external",\n "thunk",\n "thunk_target",\n "provenance"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "name": {\n "type": "string"\n }\n },\n "required": [\n "address",\n "name",\n "classification",\n "body"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "comments": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "kind": {\n "enum": [\n "comment",\n "inline"\n ],\n "type": "string"\n },\n "text": {\n "type": "string"\n }\n },\n "required": [\n "address",\n "kind",\n "text"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "incoming_references": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "reason": {\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "call": {\n "type": "boolean"\n },\n "computed": {\n "type": "boolean"\n },\n "conditional": {\n "type": "boolean"\n },\n "data": {\n "type": "boolean"\n },\n "external": {\n "type": "boolean"\n },\n "flow": {\n "type": "boolean"\n },\n "indirect": {\n "type": "boolean"\n },\n "jump": {\n "type": "boolean"\n },\n "operand_index": {\n "maximum": 9007199254740991,\n "minimum": -9007199254740991,\n "type": "integer"\n },\n "primary": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "read": {\n "type": "boolean"\n },\n "terminal": {\n "type": "boolean"\n },\n "type": {\n "type": "string"\n },\n "write": {\n "type": "boolean"\n }\n },\n "required": [\n "available",\n "provenance",\n "type",\n "flow",\n "call",\n "jump",\n "data",\n "read",\n "write",\n "indirect",\n "computed",\n "conditional",\n "terminal",\n "primary",\n "operand_index",\n "external"\n ],\n "type": "object"\n }\n ]\n },\n "source_address": {\n "type": "string"\n },\n "source_procedure": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "body": {\n "default": {\n "available": false,\n "reason": "The provider did not report complete function body ranges."\n },\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "reason": {\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "contains_entry": {\n "type": "boolean"\n },\n "non_contiguous": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "ranges": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "end": {\n "description": "Inclusive last address of this observed body range.",\n "type": "string"\n },\n "start": {\n "type": "string"\n }\n },\n "required": [\n "start",\n "end"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "span_bytes": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "total_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "available",\n "provenance",\n "ranges",\n "total_bytes",\n "span_bytes",\n "non_contiguous",\n "contains_entry"\n ],\n "type": "object"\n }\n ]\n },\n "classification": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "external": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "thunk": {\n "type": "boolean"\n },\n "thunk_target": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "external",\n "thunk",\n "thunk_target",\n "provenance"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "name": {\n "type": "string"\n }\n },\n "required": [\n "address",\n "name",\n "classification",\n "body"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "target_address": {\n "type": "string"\n },\n "target_procedure": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "body": {\n "default": {\n "available": false,\n "reason": "The provider did not report complete function body ranges."\n },\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "reason": {\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "contains_entry": {\n "type": "boolean"\n },\n "non_contiguous": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "ranges": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "end": {\n "description": "Inclusive last address of this observed body range.",\n "type": "string"\n },\n "start": {\n "type": "string"\n }\n },\n "required": [\n "start",\n "end"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "span_bytes": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "total_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "available",\n "provenance",\n "ranges",\n "total_bytes",\n "span_bytes",\n "non_contiguous",\n "contains_entry"\n ],\n "type": "object"\n }\n ]\n },\n "classification": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "external": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "thunk": {\n "type": "boolean"\n },\n "thunk_target": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "external",\n "thunk",\n "thunk_target",\n "provenance"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "name": {\n "type": "string"\n }\n },\n "required": [\n "address",\n "name",\n "classification",\n "body"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "source_address",\n "target_address",\n "source_procedure",\n "target_procedure",\n "kind"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "limitations": {\n "default": [],\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "native_api": {\n "anyOf": [\n {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "reason": {\n "minLength": 1,\n "type": "string"\n },\n "residual_unknowns": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "available",\n "reason",\n "residual_unknowns"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "calling_convention": {\n "minLength": 1,\n "type": "string"\n },\n "decompiler_artifacts": {\n "items": {\n "enum": [\n "recovered-signature",\n "register-and-stack-variables",\n "compiler-generated-control-flow",\n "pointer-arithmetic",\n "pseudocode"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "jump_tables": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "data_sources": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "confidence": {\n "enum": [\n "low",\n "medium",\n "high"\n ],\n "type": "string"\n },\n "entry_count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "entry_size_bytes": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "enum": [\n "signature-source",\n "decompiler-type",\n "type-lock",\n "calling-convention",\n "jump-table"\n ],\n "type": "string"\n },\n "source": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "source",\n "detail"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "provenance": {\n "enum": [\n "ghidra-decompiler-load-table",\n "ghidra-dispatch-block-data-reference",\n "ghidra-aarch64-byte-table",\n "ghidra-aarch64-halfword-table"\n ],\n "type": "string"\n }\n },\n "required": [\n "address",\n "provenance",\n "entry_size_bytes",\n "entry_count",\n "confidence",\n "evidence"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "default_targets": {\n "default": [],\n "items": {\n "additionalProperties": false,\n "properties": {\n "confidence": {\n "enum": [\n "low",\n "medium",\n "high"\n ],\n "type": "string"\n },\n "evidence": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "enum": [\n "signature-source",\n "decompiler-type",\n "type-lock",\n "calling-convention",\n "jump-table"\n ],\n "type": "string"\n },\n "source": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "source",\n "detail"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "target_address": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "target_address",\n "confidence",\n "evidence"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "dispatch_address": {\n "minLength": 1,\n "type": "string"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "mappings": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "case_value": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": -9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "confidence": {\n "enum": [\n "low",\n "medium",\n "high"\n ],\n "type": "string"\n },\n "evidence": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "enum": [\n "signature-source",\n "decompiler-type",\n "type-lock",\n "calling-convention",\n "jump-table"\n ],\n "type": "string"\n },\n "source": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "source",\n "detail"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "target_address": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "case_value",\n "target_address",\n "confidence",\n "evidence"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "dispatch_address",\n "data_sources",\n "mappings",\n "default_targets",\n "limitations"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "parameters": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "confidence": {\n "enum": [\n "low",\n "medium",\n "high"\n ],\n "type": "string"\n },\n "data_type": {\n "minLength": 1,\n "type": "string"\n },\n "decompiler_artifacts": {\n "items": {\n "enum": [\n "recovered-signature",\n "register-or-stack-storage",\n "compiler-generated-variable"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "evidence": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "enum": [\n "signature-source",\n "decompiler-type",\n "type-lock",\n "calling-convention",\n "jump-table"\n ],\n "type": "string"\n },\n "source": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "source",\n "detail"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "name": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "ordinal": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "role": {\n "const": "parameter",\n "type": "string"\n },\n "size_bytes": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "storage": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "ordinal",\n "name",\n "data_type",\n "size_bytes",\n "storage",\n "confidence",\n "evidence",\n "decompiler_artifacts",\n "role"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "pseudocode": {\n "additionalProperties": false,\n "properties": {\n "classification": {\n "const": "decompiler-generated-non-source",\n "type": "string"\n },\n "compilable": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "classification",\n "compilable"\n ],\n "type": "object"\n },\n "return_type": {\n "additionalProperties": false,\n "properties": {\n "confidence": {\n "enum": [\n "low",\n "medium",\n "high"\n ],\n "type": "string"\n },\n "data_type": {\n "minLength": 1,\n "type": "string"\n },\n "decompiler_artifacts": {\n "items": {\n "enum": [\n "recovered-signature",\n "register-or-stack-storage",\n "compiler-generated-variable"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "evidence": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "enum": [\n "signature-source",\n "decompiler-type",\n "type-lock",\n "calling-convention",\n "jump-table"\n ],\n "type": "string"\n },\n "source": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "source",\n "detail"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "name": {\n "type": "null"\n },\n "ordinal": {\n "type": "null"\n },\n "role": {\n "const": "return",\n "type": "string"\n },\n "size_bytes": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "storage": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "ordinal",\n "name",\n "data_type",\n "size_bytes",\n "storage",\n "confidence",\n "evidence",\n "decompiler_artifacts",\n "role"\n ],\n "type": "object"\n },\n "signature_source": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "available",\n "provenance",\n "signature_source",\n "calling_convention",\n "return_type",\n "parameters",\n "jump_tables",\n "pseudocode",\n "decompiler_artifacts",\n "limitations"\n ],\n "type": "object"\n }\n ]\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "native_value_flow": {\n "anyOf": [\n {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "def_use": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "definition": {\n "minLength": 1,\n "type": "string"\n },\n "input_index": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "use": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "definition",\n "use",\n "input_index"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "effects": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "enum": [\n "memory_read",\n "memory_write",\n "conditional_branch",\n "indirect_branch",\n "direct_call",\n "indirect_call"\n ],\n "type": "string"\n },\n "operand_input": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "value_input": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "operation",\n "kind",\n "operand_input",\n "value_input"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "known_omitted_edges": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "known_omitted_inputs": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "omitted_operations_lower_bound": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "operations": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "block_membership": {\n "default": "unavailable",\n "enum": [\n "member",\n "detached",\n "unavailable"\n ],\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "inputs": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "constant_hex": {\n "anyOf": [\n {\n "pattern": "^[0-9a-f]+$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "kind": {\n "enum": [\n "constant",\n "address",\n "register",\n "unique",\n "other"\n ],\n "type": "string"\n },\n "location": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "size_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "size_bytes",\n "location",\n "constant_hex"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "is_dead": {\n "type": "boolean"\n },\n "opcode": {\n "minLength": 1,\n "type": "string"\n },\n "output": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "constant_hex": {\n "anyOf": [\n {\n "pattern": "^[0-9a-f]+$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "kind": {\n "enum": [\n "constant",\n "address",\n "register",\n "unique",\n "other"\n ],\n "type": "string"\n },\n "location": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "size_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "size_bytes",\n "location",\n "constant_hex"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "sequence": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "id",\n "address",\n "sequence",\n "opcode",\n "is_dead",\n "block_membership",\n "inputs",\n "output"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "parameter_uses": {\n "default": [],\n "items": {\n "additionalProperties": false,\n "properties": {\n "input_index": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "ordinal": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "use": {\n "type": "string"\n }\n },\n "required": [\n "ordinal",\n "use",\n "input_index"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "parameters": {\n "default": [],\n "items": {\n "additionalProperties": false,\n "properties": {\n "data_type": {\n "type": "string"\n },\n "name": {\n "type": "string"\n },\n "ordinal": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "ordinal",\n "name",\n "data_type"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "provenance": {\n "const": "ghidra-high-pcode",\n "type": "string"\n },\n "truncated": {\n "type": "boolean"\n }\n },\n "required": [\n "available",\n "provenance",\n "operations",\n "def_use",\n "effects",\n "parameters",\n "parameter_uses",\n "truncated",\n "omitted_operations_lower_bound",\n "known_omitted_inputs",\n "known_omitted_edges",\n "limitations"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "reason": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason",\n "limitations"\n ],\n "type": "object"\n }\n ]\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "outgoing_references": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "reason": {\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "call": {\n "type": "boolean"\n },\n "computed": {\n "type": "boolean"\n },\n "conditional": {\n "type": "boolean"\n },\n "data": {\n "type": "boolean"\n },\n "external": {\n "type": "boolean"\n },\n "flow": {\n "type": "boolean"\n },\n "indirect": {\n "type": "boolean"\n },\n "jump": {\n "type": "boolean"\n },\n "operand_index": {\n "maximum": 9007199254740991,\n "minimum": -9007199254740991,\n "type": "integer"\n },\n "primary": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "read": {\n "type": "boolean"\n },\n "terminal": {\n "type": "boolean"\n },\n "type": {\n "type": "string"\n },\n "write": {\n "type": "boolean"\n }\n },\n "required": [\n "available",\n "provenance",\n "type",\n "flow",\n "call",\n "jump",\n "data",\n "read",\n "write",\n "indirect",\n "computed",\n "conditional",\n "terminal",\n "primary",\n "operand_index",\n "external"\n ],\n "type": "object"\n }\n ]\n },\n "source_address": {\n "type": "string"\n },\n "source_procedure": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "body": {\n "default": {\n "available": false,\n "reason": "The provider did not report complete function body ranges."\n },\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "reason": {\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "contains_entry": {\n "type": "boolean"\n },\n "non_contiguous": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "ranges": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "end": {\n "description": "Inclusive last address of this observed body range.",\n "type": "string"\n },\n "start": {\n "type": "string"\n }\n },\n "required": [\n "start",\n "end"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "span_bytes": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "total_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "available",\n "provenance",\n "ranges",\n "total_bytes",\n "span_bytes",\n "non_contiguous",\n "contains_entry"\n ],\n "type": "object"\n }\n ]\n },\n "classification": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "external": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "thunk": {\n "type": "boolean"\n },\n "thunk_target": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "external",\n "thunk",\n "thunk_target",\n "provenance"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "name": {\n "type": "string"\n }\n },\n "required": [\n "address",\n "name",\n "classification",\n "body"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "target_address": {\n "type": "string"\n },\n "target_procedure": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "body": {\n "default": {\n "available": false,\n "reason": "The provider did not report complete function body ranges."\n },\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "reason": {\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "contains_entry": {\n "type": "boolean"\n },\n "non_contiguous": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "ranges": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "end": {\n "description": "Inclusive last address of this observed body range.",\n "type": "string"\n },\n "start": {\n "type": "string"\n }\n },\n "required": [\n "start",\n "end"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "span_bytes": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "total_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "available",\n "provenance",\n "ranges",\n "total_bytes",\n "span_bytes",\n "non_contiguous",\n "contains_entry"\n ],\n "type": "object"\n }\n ]\n },\n "classification": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "external": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "thunk": {\n "type": "boolean"\n },\n "thunk_target": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "external",\n "thunk",\n "thunk_target",\n "provenance"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "name": {\n "type": "string"\n }\n },\n "required": [\n "address",\n "name",\n "classification",\n "body"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "source_address",\n "target_address",\n "source_procedure",\n "target_procedure",\n "kind"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "procedure": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "body": {\n "default": {\n "available": false,\n "reason": "The provider did not report complete function body ranges."\n },\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "reason": {\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "contains_entry": {\n "type": "boolean"\n },\n "non_contiguous": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "ranges": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "end": {\n "description": "Inclusive last address of this observed body range.",\n "type": "string"\n },\n "start": {\n "type": "string"\n }\n },\n "required": [\n "start",\n "end"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "span_bytes": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "total_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "available",\n "provenance",\n "ranges",\n "total_bytes",\n "span_bytes",\n "non_contiguous",\n "contains_entry"\n ],\n "type": "object"\n }\n ]\n },\n "classification": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "external": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "thunk": {\n "type": "boolean"\n },\n "thunk_target": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "external",\n "thunk",\n "thunk_target",\n "provenance"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "locals": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "description": {\n "type": "string"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "description",\n "provenance"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "name": {\n "type": "string"\n },\n "signature": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "address",\n "name",\n "classification",\n "body",\n "signature",\n "locals"\n ],\n "type": "object"\n },\n "pseudocode": {\n "type": "string"\n },\n "referenced_names": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "source_address": {\n "type": "string"\n },\n "value": {\n "type": "string"\n }\n },\n "required": [\n "address",\n "value",\n "source_address"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "referenced_strings": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "source_address": {\n "type": "string"\n },\n "value": {\n "type": "string"\n }\n },\n "required": [\n "address",\n "value",\n "source_address"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "procedure",\n "pseudocode",\n "assembly",\n "comments",\n "callers",\n "callees",\n "incoming_references",\n "outgoing_references",\n "referenced_strings",\n "referenced_names",\n "basic_blocks",\n "native_api",\n "native_value_flow",\n "limitations"\n ],\n "type": "object"\n },\n "effects": {\n "additionalProperties": false,\n "properties": {\n "persists_after_close": {\n "const": false,\n "type": "boolean"\n },\n "scope": {\n "const": "session-analysis-database",\n "type": "string"\n },\n "source_bytes_modified": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "scope",\n "source_bytes_modified",\n "persists_after_close"\n ],\n "type": "object"\n }\n },\n "required": [\n "annotations",\n "dossier",\n "effects"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Annotate Native Function"\n },\n {\n "analysisOperation": "inspect_native_load_image",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Verify the provider\'s loaded DOS MZ or explicitly selected COM image against its immutable target snapshot: complete original/modified source-byte digests, header/module file mappings and memory digests, relocations and external entry. Returns measured observations and independent checks with mismatch coordinates. COM verification includes its imposed entry register context and does not claim PSP/runtime coverage. Overlay and uninitialized coverage remain explicit; other formats return unsupported. Does not execute or modify the target.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {}\n ],\n "properties": {},\n "type": "object"\n },\n "kind": "official-proxy",\n "name": "inspect_native_load_image",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "observations": {\n "additionalProperties": false,\n "properties": {\n "compiler_spec_id": {\n "minLength": 1,\n "type": "string"\n },\n "default_address_space": {\n "minLength": 1,\n "type": "string"\n },\n "entry_context": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "registers": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "value_hex": {\n "anyOf": [\n {\n "pattern": "^0x[a-f0-9]+$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "name",\n "value_hex"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "address",\n "registers"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "entry_points": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "executable_format": {\n "minLength": 1,\n "type": "string"\n },\n "image_base": {\n "minLength": 1,\n "type": "string"\n },\n "language_id": {\n "minLength": 1,\n "type": "string"\n },\n "mappings": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address_space": {\n "minLength": 1,\n "type": "string"\n },\n "block": {\n "type": "string"\n },\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "file_offset": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "initialized": {\n "type": "boolean"\n },\n "length": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "loaded": {\n "type": "boolean"\n },\n "overlay": {\n "type": "boolean"\n },\n "sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "source_file_index": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "block",\n "start",\n "end",\n "address_space",\n "initialized",\n "loaded",\n "overlay",\n "length",\n "source_file_index",\n "file_offset",\n "sha256"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "metadata_recovery": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "analysis_artifact_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "coverage": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "basis": {\n "const": "rehydrated-pointer-candidates-and-committed-instance-types",\n "type": "string"\n },\n "frozen_object_candidates": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "frozen_objects_annotated": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "frozen_object_candidates",\n "frozen_objects_annotated",\n "basis"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "derived_memory": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "pattern": "^0x[0-9a-f]+$",\n "type": "string"\n },\n "file_offset": {\n "type": "null"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "size_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "address",\n "size_bytes",\n "sha256",\n "file_offset"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "diagnostics": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "discovery": {\n "anyOf": [\n {\n "enum": [\n "symbol",\n "signature-heuristic"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "format": {\n "const": "dotnet-nativeaot",\n "type": "string"\n },\n "format_major": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "format_minor": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "header_address": {\n "anyOf": [\n {\n "pattern": "^0x[0-9a-f]+$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "method_tables": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "reason": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "enum": [\n "complete",\n "partial",\n "not_applicable"\n ],\n "type": "string"\n },\n "types": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "pattern": "^0x[0-9a-f]+$",\n "type": "string"\n },\n "type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "address",\n "type"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "format",\n "status",\n "reason",\n "analysis_artifact_sha256",\n "header_address",\n "discovery",\n "format_major",\n "format_minor",\n "method_tables",\n "types",\n "derived_memory",\n "coverage",\n "diagnostics",\n "limitations"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "relocations": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "memory_bytes_hex": {\n "anyOf": [\n {\n "pattern": "^(?:[a-f0-9]{2})*$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "offset": {\n "anyOf": [\n {\n "maximum": 65535,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "original_bytes_hex": {\n "anyOf": [\n {\n "pattern": "^(?:[a-f0-9]{2})*$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "segment": {\n "anyOf": [\n {\n "maximum": 65535,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "minLength": 1,\n "type": "string"\n },\n "type": {\n "maximum": 9007199254740991,\n "minimum": -9007199254740991,\n "type": "integer"\n },\n "values": {\n "items": {\n "maximum": 9007199254740991,\n "minimum": -9007199254740991,\n "type": "integer"\n },\n "type": "array"\n }\n },\n "required": [\n "address",\n "segment",\n "offset",\n "status",\n "type",\n "values",\n "original_bytes_hex",\n "memory_bytes_hex"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "source_files": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "modified_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "name": {\n "type": "string"\n },\n "original_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "size": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "size",\n "original_sha256",\n "modified_sha256"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "executable_format",\n "language_id",\n "compiler_spec_id",\n "image_base",\n "default_address_space",\n "source_files",\n "mappings",\n "relocations",\n "entry_points",\n "entry_context"\n ],\n "type": "object"\n },\n "reason": {\n "minLength": 1,\n "type": "string"\n },\n "status": {\n "const": "unsupported",\n "type": "string"\n }\n },\n "required": [\n "status",\n "reason",\n "observations",\n "limitations"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "checks": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "expected": {\n "$ref": "#/$defs/__schema0"\n },\n "file_offset": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "matched": {\n "type": "boolean"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "observed": {\n "$ref": "#/$defs/__schema0"\n }\n },\n "required": [\n "name",\n "matched",\n "expected",\n "observed",\n "file_offset",\n "address"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "entry": {\n "additionalProperties": false,\n "properties": {\n "linear_address": {\n "minLength": 1,\n "type": "string"\n },\n "offset": {\n "maximum": 65535,\n "minimum": 0,\n "type": "integer"\n },\n "relative_segment": {\n "maximum": 65535,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "relative_segment",\n "offset",\n "linear_address"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "dos-mz",\n "dos-com"\n ],\n "type": "string"\n },\n "header_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "load_segment": {\n "maximum": 65535,\n "minimum": 0,\n "type": "integer"\n },\n "module_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "observations": {\n "additionalProperties": false,\n "properties": {\n "compiler_spec_id": {\n "minLength": 1,\n "type": "string"\n },\n "default_address_space": {\n "minLength": 1,\n "type": "string"\n },\n "entry_context": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "registers": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "value_hex": {\n "anyOf": [\n {\n "pattern": "^0x[a-f0-9]+$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "name",\n "value_hex"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "address",\n "registers"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "entry_points": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "executable_format": {\n "minLength": 1,\n "type": "string"\n },\n "image_base": {\n "minLength": 1,\n "type": "string"\n },\n "language_id": {\n "minLength": 1,\n "type": "string"\n },\n "mappings": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address_space": {\n "minLength": 1,\n "type": "string"\n },\n "block": {\n "type": "string"\n },\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "file_offset": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "initialized": {\n "type": "boolean"\n },\n "length": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "loaded": {\n "type": "boolean"\n },\n "overlay": {\n "type": "boolean"\n },\n "sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "source_file_index": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "block",\n "start",\n "end",\n "address_space",\n "initialized",\n "loaded",\n "overlay",\n "length",\n "source_file_index",\n "file_offset",\n "sha256"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "metadata_recovery": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "analysis_artifact_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "coverage": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "basis": {\n "const": "rehydrated-pointer-candidates-and-committed-instance-types",\n "type": "string"\n },\n "frozen_object_candidates": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "frozen_objects_annotated": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "frozen_object_candidates",\n "frozen_objects_annotated",\n "basis"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "derived_memory": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "pattern": "^0x[0-9a-f]+$",\n "type": "string"\n },\n "file_offset": {\n "type": "null"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "size_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "address",\n "size_bytes",\n "sha256",\n "file_offset"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "diagnostics": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "discovery": {\n "anyOf": [\n {\n "enum": [\n "symbol",\n "signature-heuristic"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "format": {\n "const": "dotnet-nativeaot",\n "type": "string"\n },\n "format_major": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "format_minor": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "header_address": {\n "anyOf": [\n {\n "pattern": "^0x[0-9a-f]+$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "method_tables": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "reason": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "enum": [\n "complete",\n "partial",\n "not_applicable"\n ],\n "type": "string"\n },\n "types": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "pattern": "^0x[0-9a-f]+$",\n "type": "string"\n },\n "type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "address",\n "type"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "format",\n "status",\n "reason",\n "analysis_artifact_sha256",\n "header_address",\n "discovery",\n "format_major",\n "format_minor",\n "method_tables",\n "types",\n "derived_memory",\n "coverage",\n "diagnostics",\n "limitations"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "relocations": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "memory_bytes_hex": {\n "anyOf": [\n {\n "pattern": "^(?:[a-f0-9]{2})*$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "offset": {\n "anyOf": [\n {\n "maximum": 65535,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "original_bytes_hex": {\n "anyOf": [\n {\n "pattern": "^(?:[a-f0-9]{2})*$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "segment": {\n "anyOf": [\n {\n "maximum": 65535,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "minLength": 1,\n "type": "string"\n },\n "type": {\n "maximum": 9007199254740991,\n "minimum": -9007199254740991,\n "type": "integer"\n },\n "values": {\n "items": {\n "maximum": 9007199254740991,\n "minimum": -9007199254740991,\n "type": "integer"\n },\n "type": "array"\n }\n },\n "required": [\n "address",\n "segment",\n "offset",\n "status",\n "type",\n "values",\n "original_bytes_hex",\n "memory_bytes_hex"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "source_files": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "modified_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "name": {\n "type": "string"\n },\n "original_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "size": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "size",\n "original_sha256",\n "modified_sha256"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "executable_format",\n "language_id",\n "compiler_spec_id",\n "image_base",\n "default_address_space",\n "source_files",\n "mappings",\n "relocations",\n "entry_points",\n "entry_context"\n ],\n "type": "object"\n },\n "overlay_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "status": {\n "enum": [\n "verified",\n "mismatch"\n ],\n "type": "string"\n },\n "target_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "status",\n "format",\n "target_sha256",\n "load_segment",\n "header_bytes",\n "module_bytes",\n "overlay_bytes",\n "entry",\n "observations",\n "checks",\n "limitations"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Inspect Native Load Image"\n },\n {\n "analysisOperation": "inspect_native_data_type",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Inspect one recovered type by exact database category path or defined typed data address. Returns observed size, alignment, packing, fields, bitfields, enum values, and child type identities; source-level authority and flexible-tail semantics remain unknown unless substantiated.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "type": "/MyStruct"\n }\n ],\n "properties": {\n "address": {\n "description": "Value for address.",\n "minLength": 1,\n "type": "string"\n },\n "document": {\n "description": "Exact provider document or program identity.",\n "type": "string"\n },\n "type": {\n "description": "Value for type.",\n "minLength": 1,\n "type": "string"\n }\n },\n "type": "object"\n },\n "kind": "official-proxy",\n "name": "inspect_native_data_type",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "alignment_bytes": {\n "anyOf": [\n {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "array_count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "array_stride_bytes": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "fields": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "bit_offset": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "bit_size": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "flexible_tail": {\n "const": "unknown",\n "type": "string"\n },\n "name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "offset_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "ordinal": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "size_bytes": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "enum": [\n "observed",\n "unsupported"\n ],\n "type": "string"\n },\n "type_id": {\n "type": "string"\n }\n },\n "required": [\n "ordinal",\n "name",\n "offset_bytes",\n "size_bytes",\n "type_id",\n "bit_size",\n "bit_offset",\n "status",\n "flexible_tail"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "id": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "kind": {\n "enum": [\n "struct",\n "union",\n "enum",\n "pointer",\n "array",\n "typedef",\n "scalar",\n "unsupported",\n "unavailable"\n ],\n "type": "string"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "members": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "type": "string"\n },\n "value": {\n "type": "string"\n }\n },\n "required": [\n "name",\n "value"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "metadata_recovery": {\n "additionalProperties": false,\n "properties": {\n "base_size_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "derived_memory": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "pattern": "^0x[0-9a-f]+$",\n "type": "string"\n },\n "file_offset": {\n "type": "null"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "size_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "address",\n "size_bytes",\n "sha256",\n "file_offset"\n ],\n "type": "object"\n },\n "diagnostics": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "format": {\n "const": "dotnet-nativeaot",\n "type": "string"\n },\n "format_major": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "format_minor": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "header_address": {\n "pattern": "^0x[0-9a-f]+$",\n "type": "string"\n },\n "interfaces": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "pattern": "^0x[0-9a-f]+$",\n "type": "string"\n },\n "type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "address",\n "type"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "method_table_address": {\n "pattern": "^0x[0-9a-f]+$",\n "type": "string"\n },\n "name_origin": {\n "enum": [\n "generated",\n "inferred"\n ],\n "type": "string"\n },\n "original_name": {\n "type": "null"\n },\n "related_type": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "pattern": "^0x[0-9a-f]+$",\n "type": "string"\n },\n "type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "address",\n "type"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "enum": [\n "complete",\n "partial"\n ],\n "type": "string"\n },\n "virtual_slots": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "basis": {\n "const": "method-table-pointer",\n "type": "string"\n },\n "procedure_name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "slot": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "slot_address": {\n "pattern": "^0x[0-9a-f]+$",\n "type": "string"\n },\n "target_address": {\n "anyOf": [\n {\n "pattern": "^0x[0-9a-f]+$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "slot",\n "slot_address",\n "target_address",\n "procedure_name",\n "basis"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "format",\n "status",\n "header_address",\n "format_major",\n "format_minor",\n "method_table_address",\n "name_origin",\n "original_name",\n "base_size_bytes",\n "related_type",\n "interfaces",\n "virtual_slots",\n "derived_memory",\n "diagnostics",\n "limitations"\n ],\n "type": "object"\n },\n "name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "packing_enabled": {\n "anyOf": [\n {\n "type": "boolean"\n },\n {\n "type": "null"\n }\n ]\n },\n "reason": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "referenced_type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "size_bytes": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "source": {\n "const": "analysis-database",\n "type": "string"\n },\n "source_archive": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "enum": [\n "available",\n "unavailable"\n ],\n "type": "string"\n },\n "total_fields": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "truncated": {\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "reason",\n "id",\n "name",\n "kind",\n "source",\n "source_archive",\n "address",\n "size_bytes",\n "alignment_bytes",\n "packing_enabled",\n "referenced_type",\n "array_count",\n "array_stride_bytes",\n "fields",\n "members",\n "total_fields",\n "truncated",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Inspect Native Data Type"\n },\n {\n "analysisOperation": "inspect_native_instruction",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Inspect one exact instruction address: decoded bytes, mnemonic, ordered operand tokens, flow and typed references. Memory addressing decomposition is unavailable when the provider supplies only tokens. Data, interior instruction addresses and undecodable bytes are distinct outcomes.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "address": "0x1000"\n }\n ],\n "properties": {\n "address": {\n "description": "Value for address.",\n "minLength": 1,\n "type": "string"\n },\n "document": {\n "description": "Exact provider document or program identity.",\n "type": "string"\n }\n },\n "required": [\n "address"\n ],\n "type": "object"\n },\n "kind": "official-proxy",\n "name": "inspect_native_instruction",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "architecture": {\n "type": "string"\n },\n "bytes": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "flow": {\n "additionalProperties": false,\n "properties": {\n "computed": {\n "type": "boolean"\n },\n "conditional": {\n "type": "boolean"\n },\n "direct_destinations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "kind": {\n "enum": [\n "call",\n "jump",\n "return",\n "fallthrough",\n "terminal",\n "unavailable"\n ],\n "type": "string"\n }\n },\n "required": [\n "kind",\n "conditional",\n "computed",\n "direct_destinations"\n ],\n "type": "object"\n },\n "length": {\n "anyOf": [\n {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "mnemonic": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "mode": {\n "type": "string"\n },\n "operands": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "components": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "bit_width": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "kind": {\n "enum": [\n "register",\n "immediate",\n "address",\n "unknown"\n ],\n "type": "string"\n },\n "text": {\n "type": "string"\n },\n "value": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "kind",\n "text",\n "value",\n "bit_width"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "index": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "memory_addressing": {\n "const": "unavailable",\n "type": "string"\n },\n "provider_type": {\n "maximum": 9007199254740991,\n "minimum": -9007199254740991,\n "type": "integer"\n },\n "raw": {\n "type": "string"\n }\n },\n "required": [\n "index",\n "raw",\n "provider_type",\n "components",\n "memory_addressing"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "procedure": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "raw_disassembly": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "references": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "call": {\n "type": "boolean"\n },\n "computed": {\n "type": "boolean"\n },\n "indirect": {\n "type": "boolean"\n },\n "jump": {\n "type": "boolean"\n },\n "operand_index": {\n "maximum": 9007199254740991,\n "minimum": -9007199254740991,\n "type": "integer"\n },\n "target_address": {\n "type": "string"\n },\n "type": {\n "type": "string"\n }\n },\n "required": [\n "target_address",\n "type",\n "call",\n "jump",\n "indirect",\n "computed",\n "operand_index"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "status": {\n "enum": [\n "decoded",\n "not-instruction-boundary",\n "data",\n "undecodable",\n "outside-memory"\n ],\n "type": "string"\n }\n },\n "required": [\n "address",\n "status",\n "procedure",\n "architecture",\n "mode",\n "bytes",\n "length",\n "mnemonic",\n "raw_disassembly",\n "operands",\n "flow",\n "references",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Inspect Native Instruction"\n },\n {\n "analysisOperation": "resolve_native_call_targets",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Resolve one explicit static call site using typed provider call references. Preserves ambiguous targets as candidates and unresolved computed calls as unknown; does not execute code or traverse a call graph.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "address": "0x1000"\n }\n ],\n "properties": {\n "address": {\n "description": "Value for address.",\n "minLength": 1,\n "type": "string"\n },\n "document": {\n "description": "Exact provider document or program identity.",\n "type": "string"\n }\n },\n "required": [\n "address"\n ],\n "type": "object"\n },\n "kind": "official-proxy",\n "name": "resolve_native_call_targets",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "call_site": {\n "type": "string"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "mechanism": {\n "enum": [\n "direct",\n "computed",\n "indirect",\n "unavailable"\n ],\n "type": "string"\n },\n "procedure": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "enum": [\n "direct",\n "resolved-indirect",\n "ambiguous",\n "unresolved",\n "not-call",\n "unavailable"\n ],\n "type": "string"\n },\n "targets": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "basis": {\n "const": "provider-reference",\n "type": "string"\n },\n "procedure": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "references": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "call": {\n "type": "boolean"\n },\n "computed": {\n "type": "boolean"\n },\n "indirect": {\n "type": "boolean"\n },\n "jump": {\n "type": "boolean"\n },\n "operand_index": {\n "maximum": 9007199254740991,\n "minimum": -9007199254740991,\n "type": "integer"\n },\n "target_address": {\n "type": "string"\n },\n "type": {\n "type": "string"\n }\n },\n "required": [\n "target_address",\n "type",\n "call",\n "jump",\n "indirect",\n "computed",\n "operand_index"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "status": {\n "enum": [\n "direct",\n "resolved-indirect",\n "candidate"\n ],\n "type": "string"\n }\n },\n "required": [\n "address",\n "procedure",\n "status",\n "basis",\n "references"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "call_site",\n "procedure",\n "status",\n "mechanism",\n "targets",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Resolve Native Call Targets"\n },\n {\n "analysisOperation": "address_name",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "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.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {}\n ],\n "properties": {\n "address": {\n "description": "A provider-normalized address; default memory uses 0x-prefixed hexadecimal",\n "type": "string"\n },\n "document": {\n "description": "The document name",\n "type": "string"\n }\n },\n "type": "object"\n },\n "kind": "official-proxy",\n "name": "address_name",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Address Name"\n },\n {\n "analysisOperation": "comment",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "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.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {}\n ],\n "properties": {\n "address": {\n "description": "A provider-normalized address; default memory uses 0x-prefixed hexadecimal",\n "type": "string"\n },\n "document": {\n "description": "The document name",\n "type": "string"\n }\n },\n "type": "object"\n },\n "kind": "official-proxy",\n "name": "comment",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Comment"\n },\n {\n "analysisOperation": "current_address",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Return Hopper\'s current cursor address for the selected document. Use only for interactive navigation state; prefer explicit addresses in reproducible investigations.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {}\n ],\n "properties": {\n "document": {\n "description": "The document name",\n "type": "string"\n }\n },\n "type": "object"\n },\n "kind": "official-proxy",\n "name": "current_address",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "type": "string"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Current Address"\n },\n {\n "analysisOperation": "current_procedure",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Return the analyzed procedure containing Hopper\'s current cursor. This uses GUI cursor state and is not a procedure-name lookup.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {}\n ],\n "properties": {\n "document": {\n "description": "The document name",\n "type": "string"\n }\n },\n "type": "object"\n },\n "kind": "official-proxy",\n "name": "current_procedure",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "type": "string"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Current Procedure"\n },\n {\n "analysisOperation": "current_document",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Return the document currently selected by REA\'s Hopper bridge.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {}\n ],\n "properties": {},\n "type": "object"\n },\n "kind": "official-proxy",\n "name": "current_document",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "type": "string"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Current Document"\n },\n {\n "analysisOperation": "goto_address",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "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.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": true,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {\n "address": "0x1000"\n }\n ],\n "properties": {\n "address": {\n "description": "A provider-normalized address; default memory uses 0x-prefixed hexadecimal",\n "type": "string"\n },\n "document": {\n "description": "The document name",\n "type": "string"\n }\n },\n "required": [\n "address"\n ],\n "type": "object"\n },\n "kind": "official-proxy",\n "name": "goto_address",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "type": "string"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Goto Address"\n },\n {\n "analysisOperation": "inline_comment",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "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.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {}\n ],\n "properties": {\n "address": {\n "description": "A provider-normalized address; default memory uses 0x-prefixed hexadecimal",\n "type": "string"\n },\n "document": {\n "description": "The document name",\n "type": "string"\n }\n },\n "type": "object"\n },\n "kind": "official-proxy",\n "name": "inline_comment",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Inline Comment"\n },\n {\n "analysisOperation": "list_bookmarks",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "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.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {}\n ],\n "properties": {\n "document": {\n "description": "The document name",\n "type": "string"\n }\n },\n "type": "object"\n },\n "kind": "official-proxy",\n "name": "list_bookmarks",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "name": {\n "type": "string"\n }\n },\n "required": [\n "address",\n "name"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "List Bookmarks"\n },\n {\n "analysisOperation": "list_documents",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "List provider program or document identities. Hopper may expose several documents; a Ghidra headless session contains exactly its one imported Program.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {}\n ],\n "properties": {},\n "type": "object"\n },\n "kind": "official-proxy",\n "name": "list_documents",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "items": {\n "type": "string"\n },\n "type": "array"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "List Documents"\n },\n {\n "analysisOperation": "list_names",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "List every analyzed memory and external symbol as address/value pairs. Provider metadata distinguishes Ghidra primary, dynamic, external, type, and source facts when available.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {}\n ],\n "properties": {\n "address": {\n "description": "A provider-normalized address; default memory uses 0x-prefixed hexadecimal",\n "type": "string"\n },\n "document": {\n "description": "The document name",\n "type": "string"\n }\n },\n "type": "object"\n },\n "kind": "official-proxy",\n "name": "list_names",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "procedure": {\n "additionalProperties": false,\n "properties": {\n "external": {\n "type": "boolean"\n },\n "thunk": {\n "type": "boolean"\n },\n "thunk_target": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "external",\n "thunk",\n "thunk_target"\n ],\n "type": "object"\n },\n "string": {\n "additionalProperties": false,\n "properties": {\n "byte_length": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "encoding": {\n "type": "string"\n },\n "termination": {\n "enum": [\n "missing",\n "present_or_not_required"\n ],\n "type": "string"\n }\n },\n "required": [\n "encoding",\n "termination",\n "byte_length"\n ],\n "type": "object"\n },\n "symbol": {\n "additionalProperties": false,\n "properties": {\n "dynamic": {\n "type": "boolean"\n },\n "external": {\n "type": "boolean"\n },\n "primary": {\n "type": "boolean"\n },\n "source": {\n "enum": [\n "default",\n "analysis",\n "ai",\n "imported",\n "user_defined"\n ],\n "type": "string"\n },\n "type": {\n "type": "string"\n }\n },\n "required": [\n "primary",\n "dynamic",\n "external",\n "type",\n "source"\n ],\n "type": "object"\n },\n "value": {\n "type": "string"\n }\n },\n "required": [\n "address",\n "value"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "List Names"\n },\n {\n "analysisOperation": "list_procedures",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "List every analyzed procedure as address/value pairs after provider analysis. Ghidra metadata distinguishes thunks and external functions; use returned addresses in later function operations.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {}\n ],\n "properties": {\n "document": {\n "description": "The document name",\n "type": "string"\n }\n },\n "type": "object"\n },\n "kind": "official-proxy",\n "name": "list_procedures",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "procedure": {\n "additionalProperties": false,\n "properties": {\n "external": {\n "type": "boolean"\n },\n "thunk": {\n "type": "boolean"\n },\n "thunk_target": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "external",\n "thunk",\n "thunk_target"\n ],\n "type": "object"\n },\n "string": {\n "additionalProperties": false,\n "properties": {\n "byte_length": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "encoding": {\n "type": "string"\n },\n "termination": {\n "enum": [\n "missing",\n "present_or_not_required"\n ],\n "type": "string"\n }\n },\n "required": [\n "encoding",\n "termination",\n "byte_length"\n ],\n "type": "object"\n },\n "symbol": {\n "additionalProperties": false,\n "properties": {\n "dynamic": {\n "type": "boolean"\n },\n "external": {\n "type": "boolean"\n },\n "primary": {\n "type": "boolean"\n },\n "source": {\n "enum": [\n "default",\n "analysis",\n "ai",\n "imported",\n "user_defined"\n ],\n "type": "string"\n },\n "type": {\n "type": "string"\n }\n },\n "required": [\n "primary",\n "dynamic",\n "external",\n "type",\n "source"\n ],\n "type": "object"\n },\n "value": {\n "type": "string"\n }\n },\n "required": [\n "address",\n "value"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "List Procedures"\n },\n {\n "analysisOperation": "list_segments",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "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.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {}\n ],\n "properties": {\n "document": {\n "description": "The document name",\n "type": "string"\n }\n },\n "type": "object"\n },\n "kind": "official-proxy",\n "name": "list_segments",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address_space": {\n "type": "string"\n },\n "end": {\n "type": "string"\n },\n "executable": {\n "anyOf": [\n {\n "type": "boolean"\n },\n {\n "type": "null"\n }\n ]\n },\n "image_base": {\n "type": "string"\n },\n "initialized": {\n "type": "boolean"\n },\n "name": {\n "type": "string"\n },\n "overlay": {\n "type": "boolean"\n },\n "permissions": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "reason": {\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "source": {\n "const": "ghidra-memory-block",\n "type": "string"\n }\n },\n "required": [\n "available",\n "source"\n ],\n "type": "object"\n }\n ]\n },\n "provenance": {\n "enum": [\n "hopper-public-python-api",\n "ghidra-memory-block"\n ],\n "type": "string"\n },\n "readable": {\n "anyOf": [\n {\n "type": "boolean"\n },\n {\n "type": "null"\n }\n ]\n },\n "sections": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address_space": {\n "type": "string"\n },\n "end": {\n "type": "string"\n },\n "executable": {\n "anyOf": [\n {\n "type": "boolean"\n },\n {\n "type": "null"\n }\n ]\n },\n "image_base": {\n "type": "string"\n },\n "initialized": {\n "type": "boolean"\n },\n "name": {\n "type": "string"\n },\n "overlay": {\n "type": "boolean"\n },\n "permissions": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "reason": {\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "source": {\n "const": "ghidra-memory-block",\n "type": "string"\n }\n },\n "required": [\n "available",\n "source"\n ],\n "type": "object"\n }\n ]\n },\n "provenance": {\n "enum": [\n "hopper-public-python-api",\n "ghidra-memory-block"\n ],\n "type": "string"\n },\n "readable": {\n "anyOf": [\n {\n "type": "boolean"\n },\n {\n "type": "null"\n }\n ]\n },\n "start": {\n "type": "string"\n },\n "writable": {\n "anyOf": [\n {\n "type": "boolean"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "name",\n "start",\n "end",\n "readable",\n "writable",\n "executable",\n "permissions",\n "provenance"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "start": {\n "type": "string"\n },\n "writable": {\n "anyOf": [\n {\n "type": "boolean"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "name",\n "start",\n "end",\n "readable",\n "writable",\n "executable",\n "permissions",\n "provenance",\n "sections"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "List Segments"\n },\n {\n "analysisOperation": "list_strings",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "List every provider-defined string, or filter to one address, as address/value pairs. Ghidra also reports encoding, terminator status, and byte length.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {}\n ],\n "properties": {\n "address": {\n "description": "A provider-normalized address; default memory uses 0x-prefixed hexadecimal",\n "type": "string"\n },\n "document": {\n "description": "The document name",\n "type": "string"\n }\n },\n "type": "object"\n },\n "kind": "official-proxy",\n "name": "list_strings",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "string": {\n "additionalProperties": false,\n "properties": {\n "byte_length": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "encoding": {\n "minLength": 1,\n "type": "string"\n },\n "termination": {\n "enum": [\n "missing",\n "present_or_not_required"\n ],\n "type": "string"\n }\n },\n "required": [\n "encoding",\n "termination",\n "byte_length"\n ],\n "type": "object"\n },\n "value": {\n "type": "string"\n }\n },\n "required": [\n "address",\n "value"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "List Strings"\n },\n {\n "analysisOperation": "next_address",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "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.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {}\n ],\n "properties": {\n "address": {\n "description": "A provider-normalized address; default memory uses 0x-prefixed hexadecimal",\n "type": "string"\n },\n "document": {\n "description": "The document name",\n "type": "string"\n }\n },\n "type": "object"\n },\n "kind": "official-proxy",\n "name": "next_address",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "type": "string"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Next Address"\n },\n {\n "analysisOperation": "prev_address",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "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.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {}\n ],\n "properties": {\n "address": {\n "description": "A provider-normalized address; default memory uses 0x-prefixed hexadecimal",\n "type": "string"\n },\n "document": {\n "description": "The document name",\n "type": "string"\n }\n },\n "type": "object"\n },\n "kind": "official-proxy",\n "name": "prev_address",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "type": "string"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Prev Address"\n },\n {\n "analysisOperation": "procedure_address",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Resolve an unambiguous procedure symbol name or provider-normalized address to its canonical entry address. External address spaces remain explicit.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {\n "procedure": "main"\n }\n ],\n "properties": {\n "document": {\n "description": "The document name",\n "type": "string"\n },\n "procedure": {\n "description": "The procedure name or address",\n "type": "string"\n }\n },\n "required": [\n "procedure"\n ],\n "type": "object"\n },\n "kind": "official-proxy",\n "name": "procedure_address",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "type": "string"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Procedure Address"\n },\n {\n "analysisOperation": "procedure_assembly",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "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.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {\n "procedure": "main"\n }\n ],\n "properties": {\n "document": {\n "description": "The document name",\n "type": "string"\n },\n "procedure": {\n "description": "The procedure name or address",\n "type": "string"\n }\n },\n "required": [\n "procedure"\n ],\n "type": "object"\n },\n "kind": "official-proxy",\n "name": "procedure_assembly",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "type": "string"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Procedure Assembly"\n },\n {\n "analysisOperation": "procedure_callees",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "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.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {\n "procedure": "main"\n }\n ],\n "properties": {\n "document": {\n "description": "The document name",\n "type": "string"\n },\n "procedure": {\n "description": "The procedure name or address",\n "type": "string"\n }\n },\n "required": [\n "procedure"\n ],\n "type": "object"\n },\n "kind": "official-proxy",\n "name": "procedure_callees",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "items": {\n "type": "string"\n },\n "type": "array"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Procedure Callees"\n },\n {\n "analysisOperation": "procedure_callers",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "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.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {\n "procedure": "main"\n }\n ],\n "properties": {\n "document": {\n "description": "The document name",\n "type": "string"\n },\n "procedure": {\n "description": "The procedure name or address",\n "type": "string"\n }\n },\n "required": [\n "procedure"\n ],\n "type": "object"\n },\n "kind": "official-proxy",\n "name": "procedure_callers",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "items": {\n "type": "string"\n },\n "type": "array"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Procedure Callers"\n },\n {\n "analysisOperation": "procedure_info",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Return provider metadata for one procedure identified by symbol or address: entrypoint, signature, locals, size, block count, and complete inclusive body ranges when observed. Body byte count and enclosing span remain distinct; unavailable extent is explicit.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {\n "procedure": "main"\n }\n ],\n "properties": {\n "document": {\n "description": "The document name",\n "type": "string"\n },\n "procedure": {\n "description": "The procedure name or address",\n "type": "string"\n }\n },\n "required": [\n "procedure"\n ],\n "type": "object"\n },\n "kind": "official-proxy",\n "name": "procedure_info",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "basicblock_count": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "body": {\n "default": {\n "available": false,\n "reason": "The provider did not report complete function body ranges."\n },\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "reason": {\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "contains_entry": {\n "type": "boolean"\n },\n "non_contiguous": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "ranges": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "end": {\n "description": "Inclusive last address of this observed body range.",\n "type": "string"\n },\n "start": {\n "type": "string"\n }\n },\n "required": [\n "start",\n "end"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "span_bytes": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "total_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "available",\n "provenance",\n "ranges",\n "total_bytes",\n "span_bytes",\n "non_contiguous",\n "contains_entry"\n ],\n "type": "object"\n }\n ]\n },\n "classification": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "external": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "thunk": {\n "type": "boolean"\n },\n "thunk_target": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "external",\n "thunk",\n "thunk_target",\n "provenance"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "entrypoint": {\n "type": "string"\n },\n "length": {\n "minimum": 0,\n "type": "number"\n },\n "locals": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "description": {\n "type": "string"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "description",\n "provenance"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "name": {\n "type": "string"\n },\n "signature": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "name",\n "entrypoint",\n "basicblock_count",\n "length",\n "signature",\n "locals",\n "classification",\n "body"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Procedure Info"\n },\n {\n "analysisOperation": "read_function_instructions",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Return every raw instruction for one analyzed procedure. Instruction text is provider-specific.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {\n "procedure": "main"\n }\n ],\n "properties": {\n "document": {\n "description": "The document name",\n "type": "string"\n },\n "procedure": {\n "description": "The procedure name or address",\n "type": "string"\n }\n },\n "required": [\n "procedure"\n ],\n "type": "object"\n },\n "kind": "official-proxy",\n "name": "read_function_instructions",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "instructions": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "procedure": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "body": {\n "default": {\n "available": false,\n "reason": "The provider did not report complete function body ranges."\n },\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "reason": {\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "contains_entry": {\n "type": "boolean"\n },\n "non_contiguous": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "ranges": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "end": {\n "description": "Inclusive last address of this observed body range.",\n "type": "string"\n },\n "start": {\n "type": "string"\n }\n },\n "required": [\n "start",\n "end"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "span_bytes": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "total_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "available",\n "provenance",\n "ranges",\n "total_bytes",\n "span_bytes",\n "non_contiguous",\n "contains_entry"\n ],\n "type": "object"\n }\n ]\n },\n "classification": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "external": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "thunk": {\n "type": "boolean"\n },\n "thunk_target": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "external",\n "thunk",\n "thunk_target",\n "provenance"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "name": {\n "type": "string"\n }\n },\n "required": [\n "address",\n "name",\n "classification",\n "body"\n ],\n "type": "object"\n }\n },\n "required": [\n "procedure",\n "instructions",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Read Function Instructions"\n },\n {\n "analysisOperation": "read_bytes",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Read 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.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {\n "address": "0x1000",\n "length": 16\n }\n ],\n "properties": {\n "address": {\n "description": "A provider-normalized address; default memory uses 0x-prefixed hexadecimal",\n "type": "string"\n },\n "document": {\n "description": "The document name",\n "type": "string"\n },\n "length": {\n "default": 256,\n "description": "Value for length.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "address"\n ],\n "type": "object"\n },\n "kind": "official-proxy",\n "name": "read_bytes",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "bytes_hex": {\n "pattern": "^(?:[a-f0-9]{2})*$",\n "type": "string"\n },\n "complete": {\n "type": "boolean"\n },\n "requested_bytes": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "returned_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "address",\n "requested_bytes",\n "returned_bytes",\n "bytes_hex",\n "complete"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Read Bytes"\n },\n {\n "analysisOperation": "address_to_file_offset",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "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.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {\n "address": "0x1000"\n }\n ],\n "properties": {\n "address": {\n "description": "A provider-normalized address; default memory uses 0x-prefixed hexadecimal",\n "type": "string"\n },\n "document": {\n "description": "The document name",\n "type": "string"\n }\n },\n "required": [\n "address"\n ],\n "type": "object"\n },\n "kind": "official-proxy",\n "name": "address_to_file_offset",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "file_offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "address",\n "file_offset"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Address To File Offset"\n },\n {\n "analysisOperation": "procedure_references",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Return every raw incoming or outgoing reference edge for one procedure. Endpoint procedures are resolved only from provider containment; Ghidra preserves observed reference kinds while providers without kind authority mark them unavailable.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {\n "direction": "outgoing",\n "procedure": "main"\n }\n ],\n "properties": {\n "direction": {\n "default": "outgoing",\n "description": "Direction in which to traverse or compare relationships.",\n "enum": [\n "incoming",\n "outgoing"\n ],\n "type": "string"\n },\n "document": {\n "description": "The document name",\n "type": "string"\n },\n "procedure": {\n "description": "The procedure name or address",\n "type": "string"\n }\n },\n "required": [\n "procedure"\n ],\n "type": "object"\n },\n "kind": "official-proxy",\n "name": "procedure_references",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "direction": {\n "enum": [\n "incoming",\n "outgoing"\n ],\n "type": "string"\n },\n "procedure": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "body": {\n "default": {\n "available": false,\n "reason": "The provider did not report complete function body ranges."\n },\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "reason": {\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "contains_entry": {\n "type": "boolean"\n },\n "non_contiguous": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "ranges": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "end": {\n "description": "Inclusive last address of this observed body range.",\n "type": "string"\n },\n "start": {\n "type": "string"\n }\n },\n "required": [\n "start",\n "end"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "span_bytes": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "total_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "available",\n "provenance",\n "ranges",\n "total_bytes",\n "span_bytes",\n "non_contiguous",\n "contains_entry"\n ],\n "type": "object"\n }\n ]\n },\n "classification": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "external": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "thunk": {\n "type": "boolean"\n },\n "thunk_target": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "external",\n "thunk",\n "thunk_target",\n "provenance"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "name": {\n "type": "string"\n }\n },\n "required": [\n "address",\n "name",\n "classification",\n "body"\n ],\n "type": "object"\n },\n "reference_kinds_available": {\n "type": "boolean"\n },\n "references": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "reason": {\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "call": {\n "type": "boolean"\n },\n "computed": {\n "type": "boolean"\n },\n "conditional": {\n "type": "boolean"\n },\n "data": {\n "type": "boolean"\n },\n "external": {\n "type": "boolean"\n },\n "flow": {\n "type": "boolean"\n },\n "indirect": {\n "type": "boolean"\n },\n "jump": {\n "type": "boolean"\n },\n "operand_index": {\n "maximum": 9007199254740991,\n "minimum": -9007199254740991,\n "type": "integer"\n },\n "primary": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "read": {\n "type": "boolean"\n },\n "terminal": {\n "type": "boolean"\n },\n "type": {\n "type": "string"\n },\n "write": {\n "type": "boolean"\n }\n },\n "required": [\n "available",\n "provenance",\n "type",\n "flow",\n "call",\n "jump",\n "data",\n "read",\n "write",\n "indirect",\n "computed",\n "conditional",\n "terminal",\n "primary",\n "operand_index",\n "external"\n ],\n "type": "object"\n }\n ]\n },\n "source_address": {\n "type": "string"\n },\n "source_procedure": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "body": {\n "default": {\n "available": false,\n "reason": "The provider did not report complete function body ranges."\n },\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "reason": {\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "contains_entry": {\n "type": "boolean"\n },\n "non_contiguous": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "ranges": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "end": {\n "description": "Inclusive last address of this observed body range.",\n "type": "string"\n },\n "start": {\n "type": "string"\n }\n },\n "required": [\n "start",\n "end"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "span_bytes": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "total_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "available",\n "provenance",\n "ranges",\n "total_bytes",\n "span_bytes",\n "non_contiguous",\n "contains_entry"\n ],\n "type": "object"\n }\n ]\n },\n "classification": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "external": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "thunk": {\n "type": "boolean"\n },\n "thunk_target": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "external",\n "thunk",\n "thunk_target",\n "provenance"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "name": {\n "type": "string"\n }\n },\n "required": [\n "address",\n "name",\n "classification",\n "body"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "target_address": {\n "type": "string"\n },\n "target_procedure": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "body": {\n "default": {\n "available": false,\n "reason": "The provider did not report complete function body ranges."\n },\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "reason": {\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "contains_entry": {\n "type": "boolean"\n },\n "non_contiguous": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "ranges": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "end": {\n "description": "Inclusive last address of this observed body range.",\n "type": "string"\n },\n "start": {\n "type": "string"\n }\n },\n "required": [\n "start",\n "end"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "span_bytes": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "total_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "available",\n "provenance",\n "ranges",\n "total_bytes",\n "span_bytes",\n "non_contiguous",\n "contains_entry"\n ],\n "type": "object"\n }\n ]\n },\n "classification": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "external": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "thunk": {\n "type": "boolean"\n },\n "thunk_target": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "external",\n "thunk",\n "thunk_target",\n "provenance"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "name": {\n "type": "string"\n }\n },\n "required": [\n "address",\n "name",\n "classification",\n "body"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "source_address",\n "target_address",\n "source_procedure",\n "target_procedure",\n "kind"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "unresolved_calls": {\n "default": [],\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "reason": {\n "type": "string"\n }\n },\n "required": [\n "address",\n "reason"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "procedure",\n "direction",\n "unresolved_calls",\n "references"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Procedure References"\n },\n {\n "analysisOperation": "procedure_pseudo_code",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "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.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {\n "procedure": "main"\n }\n ],\n "properties": {\n "document": {\n "description": "The document name",\n "type": "string"\n },\n "procedure": {\n "description": "The procedure name or address",\n "type": "string"\n }\n },\n "required": [\n "procedure"\n ],\n "type": "object"\n },\n "kind": "official-proxy",\n "name": "procedure_pseudo_code",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Procedure Pseudo Code"\n },\n {\n "analysisOperation": "resolve_containing_procedure",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "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.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {\n "address": "0x1000"\n }\n ],\n "properties": {\n "address": {\n "description": "A provider-normalized address; default memory uses 0x-prefixed hexadecimal",\n "type": "string"\n },\n "document": {\n "description": "The document name",\n "type": "string"\n }\n },\n "required": [\n "address"\n ],\n "type": "object"\n },\n "kind": "official-proxy",\n "name": "resolve_containing_procedure",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "found": {\n "const": true,\n "type": "boolean"\n },\n "procedure": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "body": {\n "default": {\n "available": false,\n "reason": "The provider did not report complete function body ranges."\n },\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "reason": {\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "contains_entry": {\n "type": "boolean"\n },\n "non_contiguous": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "ranges": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "end": {\n "description": "Inclusive last address of this observed body range.",\n "type": "string"\n },\n "start": {\n "type": "string"\n }\n },\n "required": [\n "start",\n "end"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "span_bytes": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "total_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "available",\n "provenance",\n "ranges",\n "total_bytes",\n "span_bytes",\n "non_contiguous",\n "contains_entry"\n ],\n "type": "object"\n }\n ]\n },\n "classification": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "external": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "thunk": {\n "type": "boolean"\n },\n "thunk_target": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "external",\n "thunk",\n "thunk_target",\n "provenance"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "name": {\n "type": "string"\n }\n },\n "required": [\n "address",\n "name",\n "classification",\n "body"\n ],\n "type": "object"\n },\n "query_address": {\n "type": "string"\n }\n },\n "required": [\n "query_address",\n "found",\n "procedure"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "found": {\n "const": false,\n "type": "boolean"\n },\n "procedure": {\n "type": "null"\n },\n "query_address": {\n "type": "string"\n },\n "reason": {\n "enum": [\n "outside_segments",\n "not_in_procedure"\n ],\n "type": "string"\n }\n },\n "required": [\n "query_address",\n "found",\n "procedure",\n "reason"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Resolve Containing Procedure"\n },\n {\n "analysisOperation": "search_procedures",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Search every analyzed procedure name using literal matching by default or regex when requested. Results are deterministic and complete.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {\n "case_sensitive": false,\n "mode": "literal",\n "pattern": "main"\n }\n ],\n "properties": {\n "case_sensitive": {\n "default": false,\n "description": "Whether to match case",\n "type": "boolean"\n },\n "document": {\n "description": "The document name",\n "type": "string"\n },\n "mode": {\n "default": "literal",\n "description": "Operation mode that selects the requested behavior.",\n "enum": [\n "literal",\n "regex"\n ],\n "type": "string"\n },\n "pattern": {\n "description": "The literal text or regex pattern to search for",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "pattern"\n ],\n "type": "object"\n },\n "kind": "official-proxy",\n "name": "search_procedures",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "value": {\n "type": "string"\n }\n },\n "required": [\n "address",\n "value"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Search Procedures"\n },\n {\n "analysisOperation": "search_strings",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Search every analyzed string using literal matching by default or regex when requested. Results are deterministic and complete.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {\n "case_sensitive": false,\n "mode": "literal",\n "pattern": "authorization failed"\n }\n ],\n "properties": {\n "case_sensitive": {\n "default": false,\n "description": "Whether to match case",\n "type": "boolean"\n },\n "document": {\n "description": "The document name",\n "type": "string"\n },\n "mode": {\n "default": "literal",\n "description": "Operation mode that selects the requested behavior.",\n "enum": [\n "literal",\n "regex"\n ],\n "type": "string"\n },\n "pattern": {\n "description": "The literal text or regex pattern to search for",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "pattern"\n ],\n "type": "object"\n },\n "kind": "official-proxy",\n "name": "search_strings",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "value": {\n "type": "string"\n }\n },\n "required": [\n "address",\n "value"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Search Strings"\n },\n {\n "analysisOperation": "set_address_name",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Assign an analyst name to one hexadecimal address and report Hopper\'s boolean result. This mutates analysis metadata.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": true,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {\n "address": "0x1000",\n "name": "entry"\n }\n ],\n "properties": {\n "address": {\n "description": "A provider-normalized address; default memory uses 0x-prefixed hexadecimal",\n "type": "string"\n },\n "document": {\n "description": "The document name",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "type": "string"\n }\n },\n "required": [\n "address",\n "name"\n ],\n "type": "object"\n },\n "kind": "official-proxy",\n "name": "set_address_name",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "type": "boolean"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Set Address Name"\n },\n {\n "analysisOperation": "set_addresses_names",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Assign analyst names to multiple addresses in one call and return per-address success booleans. This mutates analysis metadata; verify failures individually.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": true,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {\n "names": {\n "0x1000": "entry"\n }\n }\n ],\n "properties": {\n "document": {\n "description": "The document name",\n "type": "string"\n },\n "names": {\n "additionalProperties": {\n "type": "string"\n },\n "description": "Value for names.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n },\n "required": [\n "names"\n ],\n "type": "object"\n },\n "kind": "official-proxy",\n "name": "set_addresses_names",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": {\n "type": "boolean"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Set Addresses Names"\n },\n {\n "analysisOperation": "set_bookmark",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Create or replace a bookmark at a hexadecimal address and report success. This mutates navigation metadata; bookmarks are analyst-authored navigation aids, not binary evidence.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": true,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {\n "address": "0x1000"\n }\n ],\n "properties": {\n "address": {\n "description": "A provider-normalized address; default memory uses 0x-prefixed hexadecimal",\n "type": "string"\n },\n "document": {\n "description": "The document name",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "type": "string"\n }\n },\n "required": [\n "address"\n ],\n "type": "object"\n },\n "kind": "official-proxy",\n "name": "set_bookmark",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "type": "boolean"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Set Bookmark"\n },\n {\n "analysisOperation": "set_comment",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "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.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": true,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {\n "address": "0x1000",\n "comment": "validated entry point"\n }\n ],\n "properties": {\n "address": {\n "description": "A provider-normalized address; default memory uses 0x-prefixed hexadecimal",\n "type": "string"\n },\n "comment": {\n "description": "Exact analyst comment text to write.",\n "type": "string"\n },\n "document": {\n "description": "The document name",\n "type": "string"\n }\n },\n "required": [\n "address",\n "comment"\n ],\n "type": "object"\n },\n "kind": "official-proxy",\n "name": "set_comment",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "type": "boolean"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Set Comment"\n },\n {\n "analysisOperation": "set_current_document",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Select an already-open Hopper document by exact document name. This changes subsequent default-document routing; list_documents can supply names when needed, while explicit document inputs keep calls reproducible.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": true,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {\n "document": "fixture"\n }\n ],\n "properties": {\n "document": {\n "description": "Exact provider document or program identity.",\n "type": "string"\n }\n },\n "required": [\n "document"\n ],\n "type": "object"\n },\n "kind": "official-proxy",\n "name": "set_current_document",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "type": "string"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Set Current Document"\n },\n {\n "analysisOperation": "set_inline_comment",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Write an inline instruction comment at a hexadecimal address and return whether readback matched. This mutates analysis metadata.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": true,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {\n "address": "0x1000",\n "comment": "calls parser"\n }\n ],\n "properties": {\n "address": {\n "description": "A provider-normalized address; default memory uses 0x-prefixed hexadecimal",\n "type": "string"\n },\n "comment": {\n "description": "Exact analyst comment text to write.",\n "type": "string"\n },\n "document": {\n "description": "The document name",\n "type": "string"\n }\n },\n "required": [\n "address",\n "comment"\n ],\n "type": "object"\n },\n "kind": "official-proxy",\n "name": "set_inline_comment",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "type": "boolean"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Set Inline Comment"\n },\n {\n "analysisOperation": "unset_bookmark",\n "annotations": {\n "destructiveHint": true,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Remove the bookmark at a hexadecimal address and return whether it is absent. This mutates navigation metadata and does not alter binary bytes.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": true,\n "mutatesSession": true,\n "mutatesTarget": true,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {\n "address": "0x1000"\n }\n ],\n "properties": {\n "address": {\n "description": "A provider-normalized address; default memory uses 0x-prefixed hexadecimal",\n "type": "string"\n },\n "document": {\n "description": "The document name",\n "type": "string"\n }\n },\n "required": [\n "address"\n ],\n "type": "object"\n },\n "kind": "official-proxy",\n "name": "unset_bookmark",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "type": "boolean"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Unset Bookmark"\n },\n {\n "analysisOperation": "xrefs",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Return analyzed references to a code or data address. Hopper may default to its current cursor; headless providers such as Ghidra require an explicit address. Use to connect strings, globals, selectors, and functions; bare addresses are untyped and indirect references may be incomplete.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {}\n ],\n "properties": {\n "address": {\n "description": "A provider-normalized address; default memory uses 0x-prefixed hexadecimal",\n "type": "string"\n },\n "document": {\n "description": "The document name",\n "type": "string"\n }\n },\n "type": "object"\n },\n "kind": "official-proxy",\n "name": "xrefs",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "items": {\n "type": "string"\n },\n "type": "array"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Xrefs"\n },\n {\n "analysisOperation": "inspect_native_dispatch_metadata",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Inspect the bound provider\'s name inventory for Objective-C class/method symbols and Swift mangled symbols, returning at most max_records decoded names. Includes target SHA-256 when available, provider identity/version, analysis-profile digest, facet coverage, and per-record Evidence. This is symbol-level evidence, not runtime metadata: ivar layouts, protocol conformances, witness/class tables, and relative pointers are explicitly marked unsupported unless a provider supplies those decoders. The provider controls how its name inventory is acquired.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "max_records": 5000\n }\n ],\n "properties": {\n "max_records": {\n "default": 5000,\n "description": "Maximum permitted records for this operation.",\n "maximum": 20000,\n "minimum": 1,\n "type": "integer"\n }\n },\n "type": "object"\n },\n "kind": "enhanced",\n "name": "inspect_native_dispatch_metadata",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile_digest": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "coverage": {\n "default": [],\n "items": {\n "additionalProperties": false,\n "properties": {\n "decoded": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "examined": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "facet": {\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "enum": [\n "complete",\n "partial",\n "unsupported",\n "not_requested"\n ],\n "type": "string"\n }\n },\n "required": [\n "facet",\n "status",\n "reason",\n "examined",\n "decoded"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "db_save_result": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "database_path": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "error": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "operation": {\n "enum": [\n "save",\n "readback",\n "open_database",\n "close_database",\n "export",\n "import"\n ],\n "type": "string"\n },\n "preserved_bookmarks": {\n "default": 0,\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "preserved_comments": {\n "default": 0,\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "preserved_names": {\n "default": 0,\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "succeeded": {\n "type": "boolean"\n }\n },\n "required": [\n "operation",\n "succeeded",\n "preserved_names",\n "preserved_comments",\n "preserved_bookmarks",\n "database_path",\n "error"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "objc_classes": {\n "default": [],\n "items": {\n "additionalProperties": false,\n "properties": {\n "decode": {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "enum": [\n "decoded",\n "partial",\n "unsupported",\n "invalid"\n ],\n "type": "string"\n }\n },\n "required": [\n "status",\n "reason"\n ],\n "type": "object"\n },\n "evidence": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "artifact_path": {\n "type": "string"\n },\n "artifact_sha256": {\n "type": "string"\n },\n "description": {\n "type": "string"\n },\n "kind": {\n "const": "binary_metadata",\n "type": "string"\n },\n "location": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "file_offset": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "address",\n "file_offset"\n ],\n "type": "object"\n }\n },\n "required": [\n "kind",\n "description",\n "location",\n "artifact_path",\n "artifact_sha256"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "instance_size": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "is_meta_class": {\n "default": false,\n "type": "boolean"\n },\n "is_root_class": {\n "default": false,\n "type": "boolean"\n },\n "ivar_count": {\n "default": 0,\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "location": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "file_offset": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "address",\n "file_offset"\n ],\n "type": "object"\n },\n "metaclass_address": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "methods": {\n "default": [],\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": -9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "is_optional": {\n "default": false,\n "type": "boolean"\n },\n "is_required": {\n "default": false,\n "type": "boolean"\n },\n "method_type": {\n "enum": [\n "instance",\n "class",\n "ivar_getter",\n "ivar_setter"\n ],\n "type": "string"\n },\n "selector": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "selector",\n "method_type",\n "address",\n "is_required",\n "is_optional"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "properties": {\n "default": [],\n "items": {\n "additionalProperties": false,\n "properties": {\n "attributes": {\n "default": [],\n "items": {\n "additionalProperties": false,\n "properties": {\n "is_atomic": {\n "default": false,\n "type": "boolean"\n },\n "is_copy": {\n "default": false,\n "type": "boolean"\n },\n "is_strong": {\n "default": false,\n "type": "boolean"\n },\n "is_weak": {\n "default": false,\n "type": "boolean"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "value": {\n "type": "string"\n }\n },\n "required": [\n "name",\n "value",\n "is_weak",\n "is_atomic",\n "is_copy",\n "is_strong"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "getter": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "is_readonly": {\n "default": false,\n "type": "boolean"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "setter": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "type_encoding": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "name",\n "type_encoding",\n "attributes",\n "is_readonly",\n "getter",\n "setter"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "protocols": {\n "default": [],\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "super_class": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "superclass_address": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "name",\n "super_class",\n "is_meta_class",\n "is_root_class",\n "methods",\n "properties",\n "protocols",\n "ivar_count",\n "instance_size"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "objc_dispatch_implementations": {\n "default": [],\n "items": {\n "additionalProperties": false,\n "properties": {\n "class_name": {\n "minLength": 1,\n "type": "string"\n },\n "decode": {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "enum": [\n "decoded",\n "partial",\n "unsupported",\n "invalid"\n ],\n "type": "string"\n }\n },\n "required": [\n "status",\n "reason"\n ],\n "type": "object"\n },\n "evidence": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "artifact_path": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "artifact_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "description": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "enum": [\n "binary_metadata",\n "interface_builder_resource",\n "symbol",\n "reference",\n "decompiler"\n ],\n "type": "string"\n },\n "location": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "file_offset": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "address",\n "file_offset"\n ],\n "type": "object"\n }\n },\n "required": [\n "kind",\n "description",\n "location",\n "artifact_path",\n "artifact_sha256"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "implementation_address": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "location": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "file_offset": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "address",\n "file_offset"\n ],\n "type": "object"\n },\n "method_type": {\n "enum": [\n "instance",\n "class"\n ],\n "type": "string"\n },\n "selector": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "class_name",\n "selector",\n "method_type",\n "implementation_address",\n "location",\n "decode",\n "evidence"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "objc_ivars": {\n "default": [],\n "items": {\n "additionalProperties": false,\n "properties": {\n "alignment": {\n "anyOf": [\n {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "class_name": {\n "minLength": 1,\n "type": "string"\n },\n "decode": {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "enum": [\n "decoded",\n "partial",\n "unsupported",\n "invalid"\n ],\n "type": "string"\n }\n },\n "required": [\n "status",\n "reason"\n ],\n "type": "object"\n },\n "evidence": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "artifact_path": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "artifact_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "description": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "enum": [\n "binary_metadata",\n "interface_builder_resource",\n "symbol",\n "reference",\n "decompiler"\n ],\n "type": "string"\n },\n "location": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "file_offset": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "address",\n "file_offset"\n ],\n "type": "object"\n }\n },\n "required": [\n "kind",\n "description",\n "location",\n "artifact_path",\n "artifact_sha256"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "location": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "file_offset": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "address",\n "file_offset"\n ],\n "type": "object"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "offset": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "size": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "type_encoding": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "class_name",\n "name",\n "type_encoding",\n "offset",\n "size",\n "alignment",\n "location",\n "decode",\n "evidence"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "objc_protocol_records": {\n "default": [],\n "items": {\n "additionalProperties": false,\n "properties": {\n "adopted_protocols": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "decode": {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "enum": [\n "decoded",\n "partial",\n "unsupported",\n "invalid"\n ],\n "type": "string"\n }\n },\n "required": [\n "status",\n "reason"\n ],\n "type": "object"\n },\n "evidence": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "artifact_path": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "artifact_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "description": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "enum": [\n "binary_metadata",\n "interface_builder_resource",\n "symbol",\n "reference",\n "decompiler"\n ],\n "type": "string"\n },\n "location": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "file_offset": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "address",\n "file_offset"\n ],\n "type": "object"\n }\n },\n "required": [\n "kind",\n "description",\n "location",\n "artifact_path",\n "artifact_sha256"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "location": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "file_offset": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "address",\n "file_offset"\n ],\n "type": "object"\n },\n "methods": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": -9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "is_optional": {\n "default": false,\n "type": "boolean"\n },\n "is_required": {\n "default": false,\n "type": "boolean"\n },\n "method_type": {\n "enum": [\n "instance",\n "class",\n "ivar_getter",\n "ivar_setter"\n ],\n "type": "string"\n },\n "selector": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "selector",\n "method_type",\n "address",\n "is_required",\n "is_optional"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "name": {\n "type": "string"\n },\n "optional_methods": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": -9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "is_optional": {\n "default": false,\n "type": "boolean"\n },\n "is_required": {\n "default": false,\n "type": "boolean"\n },\n "method_type": {\n "enum": [\n "instance",\n "class",\n "ivar_getter",\n "ivar_setter"\n ],\n "type": "string"\n },\n "selector": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "selector",\n "method_type",\n "address",\n "is_required",\n "is_optional"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "name",\n "adopted_protocols",\n "methods",\n "optional_methods",\n "location",\n "decode",\n "evidence"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "objc_protocols": {\n "default": [],\n "items": {\n "additionalProperties": false,\n "properties": {\n "methods": {\n "default": [],\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": -9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "is_optional": {\n "default": false,\n "type": "boolean"\n },\n "is_required": {\n "default": false,\n "type": "boolean"\n },\n "method_type": {\n "enum": [\n "instance",\n "class",\n "ivar_getter",\n "ivar_setter"\n ],\n "type": "string"\n },\n "selector": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "selector",\n "method_type",\n "address",\n "is_required",\n "is_optional"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "optional_methods": {\n "default": [],\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": -9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "is_optional": {\n "default": false,\n "type": "boolean"\n },\n "is_required": {\n "default": false,\n "type": "boolean"\n },\n "method_type": {\n "enum": [\n "instance",\n "class",\n "ivar_getter",\n "ivar_setter"\n ],\n "type": "string"\n },\n "selector": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "selector",\n "method_type",\n "address",\n "is_required",\n "is_optional"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "properties": {\n "default": [],\n "items": {\n "additionalProperties": false,\n "properties": {\n "attributes": {\n "default": [],\n "items": {\n "additionalProperties": false,\n "properties": {\n "is_atomic": {\n "default": false,\n "type": "boolean"\n },\n "is_copy": {\n "default": false,\n "type": "boolean"\n },\n "is_strong": {\n "default": false,\n "type": "boolean"\n },\n "is_weak": {\n "default": false,\n "type": "boolean"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "value": {\n "type": "string"\n }\n },\n "required": [\n "name",\n "value",\n "is_weak",\n "is_atomic",\n "is_copy",\n "is_strong"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "getter": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "is_readonly": {\n "default": false,\n "type": "boolean"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "setter": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "type_encoding": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "name",\n "type_encoding",\n "attributes",\n "is_readonly",\n "getter",\n "setter"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "name",\n "methods",\n "optional_methods",\n "properties"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "relative_pointers": {\n "default": [],\n "items": {\n "additionalProperties": false,\n "properties": {\n "decode": {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "enum": [\n "decoded",\n "partial",\n "unsupported",\n "invalid"\n ],\n "type": "string"\n }\n },\n "required": [\n "status",\n "reason"\n ],\n "type": "object"\n },\n "displacement": {\n "maximum": 9007199254740991,\n "minimum": -9007199254740991,\n "type": "integer"\n },\n "evidence": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "artifact_path": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "artifact_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "description": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "enum": [\n "binary_metadata",\n "interface_builder_resource",\n "symbol",\n "reference",\n "decompiler"\n ],\n "type": "string"\n },\n "location": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "file_offset": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "address",\n "file_offset"\n ],\n "type": "object"\n }\n },\n "required": [\n "kind",\n "description",\n "location",\n "artifact_path",\n "artifact_sha256"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "field": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "file_offset": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "address",\n "file_offset"\n ],\n "type": "object"\n },\n "indirect": {\n "anyOf": [\n {\n "type": "boolean"\n },\n {\n "type": "null"\n }\n ]\n },\n "indirectable": {\n "type": "boolean"\n },\n "target": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "file_offset": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "address",\n "file_offset"\n ],\n "type": "object"\n }\n },\n "required": [\n "field",\n "target",\n "displacement",\n "indirectable",\n "indirect",\n "decode",\n "evidence"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "swift_conformances": {\n "default": [],\n "items": {\n "additionalProperties": false,\n "properties": {\n "decode": {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "enum": [\n "decoded",\n "partial",\n "unsupported",\n "invalid"\n ],\n "type": "string"\n }\n },\n "required": [\n "status",\n "reason"\n ],\n "type": "object"\n },\n "evidence": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "artifact_path": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "artifact_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "description": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "enum": [\n "binary_metadata",\n "interface_builder_resource",\n "symbol",\n "reference",\n "decompiler"\n ],\n "type": "string"\n },\n "location": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "file_offset": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "address",\n "file_offset"\n ],\n "type": "object"\n }\n },\n "required": [\n "kind",\n "description",\n "location",\n "artifact_path",\n "artifact_sha256"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "location": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "file_offset": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "address",\n "file_offset"\n ],\n "type": "object"\n },\n "module": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "protocol_name": {\n "minLength": 1,\n "type": "string"\n },\n "type_name": {\n "minLength": 1,\n "type": "string"\n },\n "witness_table": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "file_offset": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "address",\n "file_offset"\n ],\n "type": "object"\n }\n },\n "required": [\n "type_name",\n "protocol_name",\n "module",\n "witness_table",\n "location",\n "decode",\n "evidence"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "swift_decls": {\n "default": [],\n "items": {\n "additionalProperties": false,\n "properties": {\n "access_level": {\n "default": "internal",\n "enum": [\n "private",\n "fileprivate",\n "internal",\n "public",\n "open"\n ],\n "type": "string"\n },\n "is_convenience_init": {\n "default": false,\n "type": "boolean"\n },\n "is_final": {\n "default": false,\n "type": "boolean"\n },\n "is_override": {\n "default": false,\n "type": "boolean"\n },\n "is_required": {\n "default": false,\n "type": "boolean"\n },\n "kind": {\n "enum": [\n "class",\n "struct",\n "enum",\n "protocol",\n "extension",\n "actor",\n "global_var",\n "global_func"\n ],\n "type": "string"\n },\n "module": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "protocols": {\n "default": [],\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "super_class": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "kind",\n "name",\n "module",\n "access_level",\n "super_class",\n "protocols",\n "is_final",\n "is_required",\n "is_convenience_init",\n "is_override"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "swift_dispatch_slots": {\n "default": [],\n "items": {\n "additionalProperties": false,\n "properties": {\n "decode": {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "enum": [\n "decoded",\n "partial",\n "unsupported",\n "invalid"\n ],\n "type": "string"\n }\n },\n "required": [\n "status",\n "reason"\n ],\n "type": "object"\n },\n "evidence": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "artifact_path": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "artifact_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "description": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "enum": [\n "binary_metadata",\n "interface_builder_resource",\n "symbol",\n "reference",\n "decompiler"\n ],\n "type": "string"\n },\n "location": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "file_offset": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "address",\n "file_offset"\n ],\n "type": "object"\n }\n },\n "required": [\n "kind",\n "description",\n "location",\n "artifact_path",\n "artifact_sha256"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "implementation": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "implementation_address": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "location": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "file_offset": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "address",\n "file_offset"\n ],\n "type": "object"\n },\n "owner": {\n "minLength": 1,\n "type": "string"\n },\n "requirement": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "slot_index": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "table_kind": {\n "enum": [\n "witness_table",\n "class_vtable"\n ],\n "type": "string"\n },\n "thunk_address": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "owner",\n "table_kind",\n "slot_index",\n "requirement",\n "implementation",\n "implementation_address",\n "thunk_address",\n "location",\n "decode",\n "evidence"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "swift_symbols": {\n "default": [],\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "decode": {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "enum": [\n "decoded",\n "partial",\n "unsupported",\n "invalid"\n ],\n "type": "string"\n }\n },\n "required": [\n "status",\n "reason"\n ],\n "type": "object"\n },\n "evidence": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "artifact_path": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "artifact_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "description": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "enum": [\n "binary_metadata",\n "interface_builder_resource",\n "symbol",\n "reference",\n "decompiler"\n ],\n "type": "string"\n },\n "location": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "file_offset": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "address",\n "file_offset"\n ],\n "type": "object"\n }\n },\n "required": [\n "kind",\n "description",\n "location",\n "artifact_path",\n "artifact_sha256"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "mangled_name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "mangled_name",\n "address",\n "decode",\n "evidence"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "objc_classes",\n "objc_protocols",\n "swift_decls",\n "objc_ivars",\n "objc_protocol_records",\n "objc_dispatch_implementations",\n "swift_conformances",\n "swift_dispatch_slots",\n "swift_symbols",\n "relative_pointers",\n "coverage",\n "db_save_result"\n ],\n "type": "object"\n },\n "target_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "target_sha256",\n "provider",\n "analysis_profile_digest",\n "result"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Inspect Native Dispatch Metadata"\n },\n {\n "analysisOperation": "get_objc_classes",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Discover and deduplicate Objective-C class labels, optionally filtering by literal substring.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "pattern": ""\n }\n ],\n "properties": {\n "pattern": {\n "default": "",\n "description": "Literal text or regular expression used to filter matching results.",\n "type": "string"\n }\n },\n "type": "object"\n },\n "kind": "enhanced",\n "name": "get_objc_classes",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "classes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "name": {\n "type": "string"\n }\n },\n "required": [\n "address",\n "name"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "count": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "count",\n "classes"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Get Objc Classes"\n },\n {\n "analysisOperation": "get_objc_protocols",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Discover and deduplicate Objective-C and Swift protocol labels.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {}\n ],\n "properties": {},\n "type": "object"\n },\n "kind": "enhanced",\n "name": "get_objc_protocols",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "count": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "protocols": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "name": {\n "type": "string"\n }\n },\n "required": [\n "address",\n "name"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "count",\n "protocols"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Get Objc Protocols"\n },\n {\n "analysisOperation": "batch_decompile",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Decompile each explicit procedure symbol or address concurrently. Returns ordered per-item success or error results and aggregate counts.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "addresses": []\n }\n ],\n "properties": {\n "addresses": {\n "default": [],\n "description": "Ordered provider-normalized procedure addresses to analyze.",\n "items": {\n "description": "A provider-normalized procedure address",\n "type": "string"\n },\n "type": "array"\n }\n },\n "type": "object"\n },\n "kind": "enhanced",\n "name": "batch_decompile",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n },\n "__schema1": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema1"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema1"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema1"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema1"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema1"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema1"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "failed": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "items": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "pseudocode": {\n "minLength": 1,\n "type": "string"\n },\n "status": {\n "const": "ok",\n "type": "string"\n }\n },\n "required": [\n "address",\n "status",\n "pseudocode"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "error": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "invalid_request",\n "type": "string"\n },\n "details": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "unreadable_output",\n "type": "string"\n },\n "details": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "capability_unavailable",\n "type": "string"\n },\n "details": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "provider_unavailable",\n "type": "string"\n },\n "details": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "provider_timeout",\n "type": "string"\n },\n "details": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "cancelled",\n "type": "string"\n },\n "details": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "artifact_integrity_mismatch",\n "type": "string"\n },\n "details": {\n "additionalProperties": false,\n "properties": {\n "calculated_sha256": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "declared_sha256": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "logical_path": {\n "type": "string"\n },\n "unpacked": {\n "type": "boolean"\n }\n },\n "required": [\n "logical_path",\n "declared_sha256",\n "calculated_sha256",\n "unpacked"\n ],\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation",\n "details"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "artifact_operation_failed",\n "type": "string"\n },\n "details": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "evidence_integrity_mismatch",\n "type": "string"\n },\n "details": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "truncated",\n "type": "string"\n },\n "details": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "process_capture_failed",\n "type": "string"\n },\n "details": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "cleanup_incomplete",\n "type": "string"\n },\n "details": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "revision_conflict",\n "type": "string"\n },\n "details": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "configuration_invalid",\n "type": "string"\n },\n "details": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "target_unavailable",\n "type": "string"\n },\n "details": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "execution_failure",\n "type": "string"\n },\n "details": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation"\n ],\n "type": "object"\n }\n ]\n },\n "status": {\n "const": "error",\n "type": "string"\n }\n },\n "required": [\n "address",\n "status",\n "error"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "succeeded": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "total": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "items",\n "total",\n "succeeded",\n "failed"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Batch Decompile"\n },\n {\n "analysisOperation": "get_call_graph",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Traverse the bound provider\'s caller or callee relationships from one symbol or address until the reachable graph is exhausted. 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.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "address": "0x1000",\n "direction": "forward"\n }\n ],\n "properties": {\n "address": {\n "description": "A provider-normalized procedure address",\n "type": "string"\n },\n "direction": {\n "default": "forward",\n "description": "Direction in which to traverse or compare relationships.",\n "enum": [\n "forward",\n "backward"\n ],\n "type": "string"\n }\n },\n "required": [\n "address"\n ],\n "type": "object"\n },\n "kind": "enhanced",\n "name": "get_call_graph",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n },\n "__schema1": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema1"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema1"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema1"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema1"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema1"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema1"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "calls": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "status": {\n "const": "ok",\n "type": "string"\n }\n },\n "required": [\n "address",\n "status",\n "calls"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "error": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "invalid_request",\n "type": "string"\n },\n "details": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "unreadable_output",\n "type": "string"\n },\n "details": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "capability_unavailable",\n "type": "string"\n },\n "details": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "provider_unavailable",\n "type": "string"\n },\n "details": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "provider_timeout",\n "type": "string"\n },\n "details": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "cancelled",\n "type": "string"\n },\n "details": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "artifact_integrity_mismatch",\n "type": "string"\n },\n "details": {\n "additionalProperties": false,\n "properties": {\n "calculated_sha256": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "declared_sha256": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "logical_path": {\n "type": "string"\n },\n "unpacked": {\n "type": "boolean"\n }\n },\n "required": [\n "logical_path",\n "declared_sha256",\n "calculated_sha256",\n "unpacked"\n ],\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation",\n "details"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "artifact_operation_failed",\n "type": "string"\n },\n "details": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "evidence_integrity_mismatch",\n "type": "string"\n },\n "details": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "truncated",\n "type": "string"\n },\n "details": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "process_capture_failed",\n "type": "string"\n },\n "details": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "cleanup_incomplete",\n "type": "string"\n },\n "details": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "revision_conflict",\n "type": "string"\n },\n "details": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "configuration_invalid",\n "type": "string"\n },\n "details": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "target_unavailable",\n "type": "string"\n },\n "details": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "execution_failure",\n "type": "string"\n },\n "details": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation"\n ],\n "type": "object"\n }\n ]\n },\n "status": {\n "const": "error",\n "type": "string"\n }\n },\n "required": [\n "address",\n "status",\n "error"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Get Call Graph"\n },\n {\n "analysisOperation": "analyze_swift_types",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Categorize analyzed procedure names into Swift classes, structs, enums, protocols, extensions, and other symbols. Returns deduplicated names grouped with counts. Optionally select one category and/or apply a case-sensitive literal name filter; for example, use {category: \\"classes\\", pattern: \\"Account\\"} to find matching class symbols.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "category": "classes",\n "pattern": "Account"\n }\n ],\n "properties": {\n "category": {\n "description": "Limit results to one Swift symbol category.",\n "enum": [\n "classes",\n "structs",\n "enums",\n "protocols",\n "extensions",\n "other"\n ],\n "type": "string"\n },\n "pattern": {\n "description": "Case-sensitive literal filter applied to mangled symbol names.",\n "type": "string"\n }\n },\n "type": "object"\n },\n "kind": "enhanced",\n "name": "analyze_swift_types",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "categories": {\n "additionalProperties": {\n "additionalProperties": false,\n "properties": {\n "count": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "items": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "name": {\n "type": "string"\n }\n },\n "required": [\n "address",\n "name"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "count",\n "items"\n ],\n "type": "object"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "total": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "total",\n "categories"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Analyze Swift Types"\n },\n {\n "analysisOperation": "find_xrefs_to_name",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Resolve an exact name against the bound provider\'s name inventory and return a resolved or unresolved result. Unresolved names use the stable name_not_found reason; this xref workflow returns address-only projections.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "name": "malloc"\n }\n ],\n "properties": {\n "name": {\n "description": "Exact name used by this operation.",\n "type": "string"\n }\n },\n "required": [\n "name"\n ],\n "type": "object"\n },\n "kind": "enhanced",\n "name": "find_xrefs_to_name",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "name": {\n "type": "string"\n },\n "status": {\n "const": "resolved",\n "type": "string"\n },\n "xrefs": {\n "items": {\n "type": "string"\n },\n "type": "array"\n }\n },\n "required": [\n "status",\n "name",\n "address",\n "xrefs"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "name": {\n "type": "string"\n },\n "reason": {\n "const": "name_not_found",\n "type": "string"\n },\n "status": {\n "const": "unresolved",\n "type": "string"\n }\n },\n "required": [\n "status",\n "name",\n "reason"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Find Xrefs To Name"\n },\n {\n "analysisOperation": "binary_overview",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Return native-binary metadata, every segment with its length, and exhaustive procedure/string counts. Use search_procedures, list_procedures, or analyze_function directly when you already know which procedure to inspect.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {}\n ],\n "properties": {},\n "type": "object"\n },\n "kind": "enhanced",\n "name": "binary_overview",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "document": {\n "type": "string"\n },\n "procedure_count": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "segment_count": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "segments": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "end": {\n "type": "string"\n },\n "length": {\n "minimum": 0,\n "type": "number"\n },\n "name": {\n "type": "string"\n },\n "start": {\n "type": "string"\n }\n },\n "required": [\n "name",\n "start",\n "end",\n "length"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "string_count": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "document",\n "segments",\n "segment_count",\n "procedure_count",\n "string_count"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Binary Overview"\n },\n {\n "analysisOperation": "analyze_function",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Build a dossier for one native function identified by symbol or provider-returned address. Returns identity with complete inclusive body ranges or explicit unknown, provider-specific pseudocode and assembly, comments, calls, references, referenced strings/names, local CFG blocks, and available native API boundary observations.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "procedure": "main"\n }\n ],\n "properties": {\n "procedure": {\n "description": "A procedure name or address",\n "type": "string"\n }\n },\n "required": [\n "procedure"\n ],\n "type": "object"\n },\n "kind": "enhanced",\n "name": "analyze_function",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "assembly": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "basic_blocks": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "end": {\n "type": "string"\n },\n "start": {\n "type": "string"\n },\n "successors": {\n "items": {\n "type": "string"\n },\n "type": "array"\n }\n },\n "required": [\n "start",\n "end",\n "successors"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "callees": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "body": {\n "default": {\n "available": false,\n "reason": "The provider did not report complete function body ranges."\n },\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "reason": {\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "contains_entry": {\n "type": "boolean"\n },\n "non_contiguous": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "ranges": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "end": {\n "description": "Inclusive last address of this observed body range.",\n "type": "string"\n },\n "start": {\n "type": "string"\n }\n },\n "required": [\n "start",\n "end"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "span_bytes": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "total_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "available",\n "provenance",\n "ranges",\n "total_bytes",\n "span_bytes",\n "non_contiguous",\n "contains_entry"\n ],\n "type": "object"\n }\n ]\n },\n "classification": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "external": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "thunk": {\n "type": "boolean"\n },\n "thunk_target": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "external",\n "thunk",\n "thunk_target",\n "provenance"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "name": {\n "type": "string"\n }\n },\n "required": [\n "address",\n "name",\n "classification",\n "body"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "callers": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "body": {\n "default": {\n "available": false,\n "reason": "The provider did not report complete function body ranges."\n },\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "reason": {\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "contains_entry": {\n "type": "boolean"\n },\n "non_contiguous": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "ranges": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "end": {\n "description": "Inclusive last address of this observed body range.",\n "type": "string"\n },\n "start": {\n "type": "string"\n }\n },\n "required": [\n "start",\n "end"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "span_bytes": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "total_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "available",\n "provenance",\n "ranges",\n "total_bytes",\n "span_bytes",\n "non_contiguous",\n "contains_entry"\n ],\n "type": "object"\n }\n ]\n },\n "classification": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "external": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "thunk": {\n "type": "boolean"\n },\n "thunk_target": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "external",\n "thunk",\n "thunk_target",\n "provenance"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "name": {\n "type": "string"\n }\n },\n "required": [\n "address",\n "name",\n "classification",\n "body"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "comments": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "kind": {\n "enum": [\n "comment",\n "inline"\n ],\n "type": "string"\n },\n "text": {\n "type": "string"\n }\n },\n "required": [\n "address",\n "kind",\n "text"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "incoming_references": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "reason": {\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "call": {\n "type": "boolean"\n },\n "computed": {\n "type": "boolean"\n },\n "conditional": {\n "type": "boolean"\n },\n "data": {\n "type": "boolean"\n },\n "external": {\n "type": "boolean"\n },\n "flow": {\n "type": "boolean"\n },\n "indirect": {\n "type": "boolean"\n },\n "jump": {\n "type": "boolean"\n },\n "operand_index": {\n "maximum": 9007199254740991,\n "minimum": -9007199254740991,\n "type": "integer"\n },\n "primary": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "read": {\n "type": "boolean"\n },\n "terminal": {\n "type": "boolean"\n },\n "type": {\n "type": "string"\n },\n "write": {\n "type": "boolean"\n }\n },\n "required": [\n "available",\n "provenance",\n "type",\n "flow",\n "call",\n "jump",\n "data",\n "read",\n "write",\n "indirect",\n "computed",\n "conditional",\n "terminal",\n "primary",\n "operand_index",\n "external"\n ],\n "type": "object"\n }\n ]\n },\n "source_address": {\n "type": "string"\n },\n "source_procedure": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "body": {\n "default": {\n "available": false,\n "reason": "The provider did not report complete function body ranges."\n },\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "reason": {\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "contains_entry": {\n "type": "boolean"\n },\n "non_contiguous": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "ranges": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "end": {\n "description": "Inclusive last address of this observed body range.",\n "type": "string"\n },\n "start": {\n "type": "string"\n }\n },\n "required": [\n "start",\n "end"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "span_bytes": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "total_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "available",\n "provenance",\n "ranges",\n "total_bytes",\n "span_bytes",\n "non_contiguous",\n "contains_entry"\n ],\n "type": "object"\n }\n ]\n },\n "classification": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "external": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "thunk": {\n "type": "boolean"\n },\n "thunk_target": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "external",\n "thunk",\n "thunk_target",\n "provenance"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "name": {\n "type": "string"\n }\n },\n "required": [\n "address",\n "name",\n "classification",\n "body"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "target_address": {\n "type": "string"\n },\n "target_procedure": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "body": {\n "default": {\n "available": false,\n "reason": "The provider did not report complete function body ranges."\n },\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "reason": {\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "contains_entry": {\n "type": "boolean"\n },\n "non_contiguous": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "ranges": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "end": {\n "description": "Inclusive last address of this observed body range.",\n "type": "string"\n },\n "start": {\n "type": "string"\n }\n },\n "required": [\n "start",\n "end"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "span_bytes": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "total_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "available",\n "provenance",\n "ranges",\n "total_bytes",\n "span_bytes",\n "non_contiguous",\n "contains_entry"\n ],\n "type": "object"\n }\n ]\n },\n "classification": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "external": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "thunk": {\n "type": "boolean"\n },\n "thunk_target": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "external",\n "thunk",\n "thunk_target",\n "provenance"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "name": {\n "type": "string"\n }\n },\n "required": [\n "address",\n "name",\n "classification",\n "body"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "source_address",\n "target_address",\n "source_procedure",\n "target_procedure",\n "kind"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "limitations": {\n "default": [],\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "native_api": {\n "anyOf": [\n {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "reason": {\n "minLength": 1,\n "type": "string"\n },\n "residual_unknowns": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "available",\n "reason",\n "residual_unknowns"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "calling_convention": {\n "minLength": 1,\n "type": "string"\n },\n "decompiler_artifacts": {\n "items": {\n "enum": [\n "recovered-signature",\n "register-and-stack-variables",\n "compiler-generated-control-flow",\n "pointer-arithmetic",\n "pseudocode"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "jump_tables": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "data_sources": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "confidence": {\n "enum": [\n "low",\n "medium",\n "high"\n ],\n "type": "string"\n },\n "entry_count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "entry_size_bytes": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "enum": [\n "signature-source",\n "decompiler-type",\n "type-lock",\n "calling-convention",\n "jump-table"\n ],\n "type": "string"\n },\n "source": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "source",\n "detail"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "provenance": {\n "enum": [\n "ghidra-decompiler-load-table",\n "ghidra-dispatch-block-data-reference",\n "ghidra-aarch64-byte-table",\n "ghidra-aarch64-halfword-table"\n ],\n "type": "string"\n }\n },\n "required": [\n "address",\n "provenance",\n "entry_size_bytes",\n "entry_count",\n "confidence",\n "evidence"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "default_targets": {\n "default": [],\n "items": {\n "additionalProperties": false,\n "properties": {\n "confidence": {\n "enum": [\n "low",\n "medium",\n "high"\n ],\n "type": "string"\n },\n "evidence": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "enum": [\n "signature-source",\n "decompiler-type",\n "type-lock",\n "calling-convention",\n "jump-table"\n ],\n "type": "string"\n },\n "source": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "source",\n "detail"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "target_address": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "target_address",\n "confidence",\n "evidence"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "dispatch_address": {\n "minLength": 1,\n "type": "string"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "mappings": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "case_value": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": -9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "confidence": {\n "enum": [\n "low",\n "medium",\n "high"\n ],\n "type": "string"\n },\n "evidence": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "enum": [\n "signature-source",\n "decompiler-type",\n "type-lock",\n "calling-convention",\n "jump-table"\n ],\n "type": "string"\n },\n "source": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "source",\n "detail"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "target_address": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "case_value",\n "target_address",\n "confidence",\n "evidence"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "dispatch_address",\n "data_sources",\n "mappings",\n "default_targets",\n "limitations"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "parameters": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "confidence": {\n "enum": [\n "low",\n "medium",\n "high"\n ],\n "type": "string"\n },\n "data_type": {\n "minLength": 1,\n "type": "string"\n },\n "decompiler_artifacts": {\n "items": {\n "enum": [\n "recovered-signature",\n "register-or-stack-storage",\n "compiler-generated-variable"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "evidence": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "enum": [\n "signature-source",\n "decompiler-type",\n "type-lock",\n "calling-convention",\n "jump-table"\n ],\n "type": "string"\n },\n "source": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "source",\n "detail"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "name": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "ordinal": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "role": {\n "const": "parameter",\n "type": "string"\n },\n "size_bytes": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "storage": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "ordinal",\n "name",\n "data_type",\n "size_bytes",\n "storage",\n "confidence",\n "evidence",\n "decompiler_artifacts",\n "role"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "pseudocode": {\n "additionalProperties": false,\n "properties": {\n "classification": {\n "const": "decompiler-generated-non-source",\n "type": "string"\n },\n "compilable": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "classification",\n "compilable"\n ],\n "type": "object"\n },\n "return_type": {\n "additionalProperties": false,\n "properties": {\n "confidence": {\n "enum": [\n "low",\n "medium",\n "high"\n ],\n "type": "string"\n },\n "data_type": {\n "minLength": 1,\n "type": "string"\n },\n "decompiler_artifacts": {\n "items": {\n "enum": [\n "recovered-signature",\n "register-or-stack-storage",\n "compiler-generated-variable"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "evidence": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "enum": [\n "signature-source",\n "decompiler-type",\n "type-lock",\n "calling-convention",\n "jump-table"\n ],\n "type": "string"\n },\n "source": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "source",\n "detail"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "name": {\n "type": "null"\n },\n "ordinal": {\n "type": "null"\n },\n "role": {\n "const": "return",\n "type": "string"\n },\n "size_bytes": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "storage": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "ordinal",\n "name",\n "data_type",\n "size_bytes",\n "storage",\n "confidence",\n "evidence",\n "decompiler_artifacts",\n "role"\n ],\n "type": "object"\n },\n "signature_source": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "available",\n "provenance",\n "signature_source",\n "calling_convention",\n "return_type",\n "parameters",\n "jump_tables",\n "pseudocode",\n "decompiler_artifacts",\n "limitations"\n ],\n "type": "object"\n }\n ]\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "native_value_flow": {\n "anyOf": [\n {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "def_use": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "definition": {\n "minLength": 1,\n "type": "string"\n },\n "input_index": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "use": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "definition",\n "use",\n "input_index"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "effects": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "enum": [\n "memory_read",\n "memory_write",\n "conditional_branch",\n "indirect_branch",\n "direct_call",\n "indirect_call"\n ],\n "type": "string"\n },\n "operand_input": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "value_input": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "operation",\n "kind",\n "operand_input",\n "value_input"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "known_omitted_edges": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "known_omitted_inputs": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "omitted_operations_lower_bound": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "operations": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "block_membership": {\n "default": "unavailable",\n "enum": [\n "member",\n "detached",\n "unavailable"\n ],\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "inputs": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "constant_hex": {\n "anyOf": [\n {\n "pattern": "^[0-9a-f]+$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "kind": {\n "enum": [\n "constant",\n "address",\n "register",\n "unique",\n "other"\n ],\n "type": "string"\n },\n "location": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "size_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "size_bytes",\n "location",\n "constant_hex"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "is_dead": {\n "type": "boolean"\n },\n "opcode": {\n "minLength": 1,\n "type": "string"\n },\n "output": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "constant_hex": {\n "anyOf": [\n {\n "pattern": "^[0-9a-f]+$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "kind": {\n "enum": [\n "constant",\n "address",\n "register",\n "unique",\n "other"\n ],\n "type": "string"\n },\n "location": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "size_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "size_bytes",\n "location",\n "constant_hex"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "sequence": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "id",\n "address",\n "sequence",\n "opcode",\n "is_dead",\n "block_membership",\n "inputs",\n "output"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "parameter_uses": {\n "default": [],\n "items": {\n "additionalProperties": false,\n "properties": {\n "input_index": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "ordinal": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "use": {\n "type": "string"\n }\n },\n "required": [\n "ordinal",\n "use",\n "input_index"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "parameters": {\n "default": [],\n "items": {\n "additionalProperties": false,\n "properties": {\n "data_type": {\n "type": "string"\n },\n "name": {\n "type": "string"\n },\n "ordinal": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "ordinal",\n "name",\n "data_type"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "provenance": {\n "const": "ghidra-high-pcode",\n "type": "string"\n },\n "truncated": {\n "type": "boolean"\n }\n },\n "required": [\n "available",\n "provenance",\n "operations",\n "def_use",\n "effects",\n "parameters",\n "parameter_uses",\n "truncated",\n "omitted_operations_lower_bound",\n "known_omitted_inputs",\n "known_omitted_edges",\n "limitations"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "reason": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason",\n "limitations"\n ],\n "type": "object"\n }\n ]\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "outgoing_references": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "reason": {\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "call": {\n "type": "boolean"\n },\n "computed": {\n "type": "boolean"\n },\n "conditional": {\n "type": "boolean"\n },\n "data": {\n "type": "boolean"\n },\n "external": {\n "type": "boolean"\n },\n "flow": {\n "type": "boolean"\n },\n "indirect": {\n "type": "boolean"\n },\n "jump": {\n "type": "boolean"\n },\n "operand_index": {\n "maximum": 9007199254740991,\n "minimum": -9007199254740991,\n "type": "integer"\n },\n "primary": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "read": {\n "type": "boolean"\n },\n "terminal": {\n "type": "boolean"\n },\n "type": {\n "type": "string"\n },\n "write": {\n "type": "boolean"\n }\n },\n "required": [\n "available",\n "provenance",\n "type",\n "flow",\n "call",\n "jump",\n "data",\n "read",\n "write",\n "indirect",\n "computed",\n "conditional",\n "terminal",\n "primary",\n "operand_index",\n "external"\n ],\n "type": "object"\n }\n ]\n },\n "source_address": {\n "type": "string"\n },\n "source_procedure": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "body": {\n "default": {\n "available": false,\n "reason": "The provider did not report complete function body ranges."\n },\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "reason": {\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "contains_entry": {\n "type": "boolean"\n },\n "non_contiguous": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "ranges": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "end": {\n "description": "Inclusive last address of this observed body range.",\n "type": "string"\n },\n "start": {\n "type": "string"\n }\n },\n "required": [\n "start",\n "end"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "span_bytes": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "total_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "available",\n "provenance",\n "ranges",\n "total_bytes",\n "span_bytes",\n "non_contiguous",\n "contains_entry"\n ],\n "type": "object"\n }\n ]\n },\n "classification": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "external": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "thunk": {\n "type": "boolean"\n },\n "thunk_target": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "external",\n "thunk",\n "thunk_target",\n "provenance"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "name": {\n "type": "string"\n }\n },\n "required": [\n "address",\n "name",\n "classification",\n "body"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "target_address": {\n "type": "string"\n },\n "target_procedure": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "body": {\n "default": {\n "available": false,\n "reason": "The provider did not report complete function body ranges."\n },\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "reason": {\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "contains_entry": {\n "type": "boolean"\n },\n "non_contiguous": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "ranges": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "end": {\n "description": "Inclusive last address of this observed body range.",\n "type": "string"\n },\n "start": {\n "type": "string"\n }\n },\n "required": [\n "start",\n "end"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "span_bytes": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "total_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "available",\n "provenance",\n "ranges",\n "total_bytes",\n "span_bytes",\n "non_contiguous",\n "contains_entry"\n ],\n "type": "object"\n }\n ]\n },\n "classification": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "external": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "thunk": {\n "type": "boolean"\n },\n "thunk_target": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "external",\n "thunk",\n "thunk_target",\n "provenance"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "name": {\n "type": "string"\n }\n },\n "required": [\n "address",\n "name",\n "classification",\n "body"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "source_address",\n "target_address",\n "source_procedure",\n "target_procedure",\n "kind"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "procedure": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "body": {\n "default": {\n "available": false,\n "reason": "The provider did not report complete function body ranges."\n },\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "reason": {\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "contains_entry": {\n "type": "boolean"\n },\n "non_contiguous": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "ranges": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "end": {\n "description": "Inclusive last address of this observed body range.",\n "type": "string"\n },\n "start": {\n "type": "string"\n }\n },\n "required": [\n "start",\n "end"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "span_bytes": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "total_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "available",\n "provenance",\n "ranges",\n "total_bytes",\n "span_bytes",\n "non_contiguous",\n "contains_entry"\n ],\n "type": "object"\n }\n ]\n },\n "classification": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "external": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "thunk": {\n "type": "boolean"\n },\n "thunk_target": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "external",\n "thunk",\n "thunk_target",\n "provenance"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "locals": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "description": {\n "type": "string"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "description",\n "provenance"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "name": {\n "type": "string"\n },\n "signature": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "address",\n "name",\n "classification",\n "body",\n "signature",\n "locals"\n ],\n "type": "object"\n },\n "pseudocode": {\n "type": "string"\n },\n "referenced_names": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "source_address": {\n "type": "string"\n },\n "value": {\n "type": "string"\n }\n },\n "required": [\n "address",\n "value",\n "source_address"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "referenced_strings": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "source_address": {\n "type": "string"\n },\n "value": {\n "type": "string"\n }\n },\n "required": [\n "address",\n "value",\n "source_address"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "procedure",\n "pseudocode",\n "assembly",\n "comments",\n "callers",\n "callees",\n "incoming_references",\n "outgoing_references",\n "referenced_strings",\n "referenced_names",\n "basic_blocks",\n "native_api",\n "native_value_flow",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Analyze Function"\n },\n {\n "analysisOperation": "inspect_native_api",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": false,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Analyze a native API boundary in one function identified by symbol or provider-returned address. Returns confidence, evidence, jump-table dispatch/data/case mappings, separately evidenced default targets, unsupported branches, and residual unknowns. Null case values mean unresolved cases, never a known default.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": false,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "procedure": "main"\n }\n ],\n "properties": {\n "procedure": {\n "description": "A procedure name or address",\n "type": "string"\n }\n },\n "required": [\n "procedure"\n ],\n "type": "object"\n },\n "kind": "enhanced",\n "name": "inspect_native_api",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "boundary": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "reason": {\n "minLength": 1,\n "type": "string"\n },\n "residual_unknowns": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "available",\n "reason",\n "residual_unknowns"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "calling_convention": {\n "minLength": 1,\n "type": "string"\n },\n "decompiler_artifacts": {\n "items": {\n "enum": [\n "recovered-signature",\n "register-and-stack-variables",\n "compiler-generated-control-flow",\n "pointer-arithmetic",\n "pseudocode"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "jump_tables": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "data_sources": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "confidence": {\n "enum": [\n "low",\n "medium",\n "high"\n ],\n "type": "string"\n },\n "entry_count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "entry_size_bytes": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "enum": [\n "signature-source",\n "decompiler-type",\n "type-lock",\n "calling-convention",\n "jump-table"\n ],\n "type": "string"\n },\n "source": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "source",\n "detail"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "provenance": {\n "enum": [\n "ghidra-decompiler-load-table",\n "ghidra-dispatch-block-data-reference",\n "ghidra-aarch64-byte-table",\n "ghidra-aarch64-halfword-table"\n ],\n "type": "string"\n }\n },\n "required": [\n "address",\n "provenance",\n "entry_size_bytes",\n "entry_count",\n "confidence",\n "evidence"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "default_targets": {\n "default": [],\n "items": {\n "additionalProperties": false,\n "properties": {\n "confidence": {\n "enum": [\n "low",\n "medium",\n "high"\n ],\n "type": "string"\n },\n "evidence": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "enum": [\n "signature-source",\n "decompiler-type",\n "type-lock",\n "calling-convention",\n "jump-table"\n ],\n "type": "string"\n },\n "source": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "source",\n "detail"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "target_address": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "target_address",\n "confidence",\n "evidence"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "dispatch_address": {\n "minLength": 1,\n "type": "string"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "mappings": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "case_value": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": -9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "confidence": {\n "enum": [\n "low",\n "medium",\n "high"\n ],\n "type": "string"\n },\n "evidence": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "enum": [\n "signature-source",\n "decompiler-type",\n "type-lock",\n "calling-convention",\n "jump-table"\n ],\n "type": "string"\n },\n "source": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "source",\n "detail"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "target_address": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "case_value",\n "target_address",\n "confidence",\n "evidence"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "dispatch_address",\n "data_sources",\n "mappings",\n "default_targets",\n "limitations"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "parameters": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "confidence": {\n "enum": [\n "low",\n "medium",\n "high"\n ],\n "type": "string"\n },\n "data_type": {\n "minLength": 1,\n "type": "string"\n },\n "decompiler_artifacts": {\n "items": {\n "enum": [\n "recovered-signature",\n "register-or-stack-storage",\n "compiler-generated-variable"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "evidence": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "enum": [\n "signature-source",\n "decompiler-type",\n "type-lock",\n "calling-convention",\n "jump-table"\n ],\n "type": "string"\n },\n "source": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "source",\n "detail"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "name": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "ordinal": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "role": {\n "const": "parameter",\n "type": "string"\n },\n "size_bytes": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "storage": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "ordinal",\n "name",\n "data_type",\n "size_bytes",\n "storage",\n "confidence",\n "evidence",\n "decompiler_artifacts",\n "role"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "pseudocode": {\n "additionalProperties": false,\n "properties": {\n "classification": {\n "const": "decompiler-generated-non-source",\n "type": "string"\n },\n "compilable": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "classification",\n "compilable"\n ],\n "type": "object"\n },\n "return_type": {\n "additionalProperties": false,\n "properties": {\n "confidence": {\n "enum": [\n "low",\n "medium",\n "high"\n ],\n "type": "string"\n },\n "data_type": {\n "minLength": 1,\n "type": "string"\n },\n "decompiler_artifacts": {\n "items": {\n "enum": [\n "recovered-signature",\n "register-or-stack-storage",\n "compiler-generated-variable"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "evidence": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "enum": [\n "signature-source",\n "decompiler-type",\n "type-lock",\n "calling-convention",\n "jump-table"\n ],\n "type": "string"\n },\n "source": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "source",\n "detail"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "name": {\n "type": "null"\n },\n "ordinal": {\n "type": "null"\n },\n "role": {\n "const": "return",\n "type": "string"\n },\n "size_bytes": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "storage": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "ordinal",\n "name",\n "data_type",\n "size_bytes",\n "storage",\n "confidence",\n "evidence",\n "decompiler_artifacts",\n "role"\n ],\n "type": "object"\n },\n "signature_source": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "available",\n "provenance",\n "signature_source",\n "calling_convention",\n "return_type",\n "parameters",\n "jump_tables",\n "pseudocode",\n "decompiler_artifacts",\n "limitations"\n ],\n "type": "object"\n }\n ]\n },\n "procedure": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "address",\n "name"\n ],\n "type": "object"\n },\n "residual_unknowns": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "substeps": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "observations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "operation": {\n "enum": [\n "analyze_function",\n "project_native_api_boundary",\n "preserve_residual_unknowns"\n ],\n "type": "string"\n },\n "status": {\n "enum": [\n "completed",\n "unsupported"\n ],\n "type": "string"\n }\n },\n "required": [\n "operation",\n "status",\n "observations"\n ],\n "type": "object"\n },\n "maxItems": 3,\n "minItems": 3,\n "type": "array"\n },\n "unsupported_branches": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n }\n },\n "required": [\n "procedure",\n "boundary",\n "substeps",\n "unsupported_branches",\n "residual_unknowns"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Inspect Native Api"\n },\n {\n "analysisOperation": "trace_feature",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": false,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Trace a literal feature query through every matching string and procedure, their xrefs, and truthful containing-procedure resolution. Returns observations, operation count, and residual unknowns without inferring reference kinds.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": false,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "case_sensitive": false,\n "query": "license"\n }\n ],\n "properties": {\n "case_sensitive": {\n "default": false,\n "description": "Whether text matching distinguishes uppercase and lowercase.",\n "type": "boolean"\n },\n "query": {\n "description": "Non-empty feature or text query to investigate.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "query"\n ],\n "type": "object"\n },\n "kind": "enhanced",\n "name": "trace_feature",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "matches": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "type": {\n "enum": [\n "string",\n "procedure"\n ],\n "type": "string"\n },\n "value": {\n "type": "string"\n }\n },\n "required": [\n "type",\n "address",\n "value"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "query": {\n "type": "string"\n },\n "references": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "containing_procedure": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "found": {\n "const": true,\n "type": "boolean"\n },\n "procedure": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "body": {\n "default": {\n "available": false,\n "reason": "The provider did not report complete function body ranges."\n },\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "reason": {\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "contains_entry": {\n "type": "boolean"\n },\n "non_contiguous": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "ranges": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "end": {\n "description": "Inclusive last address of this observed body range.",\n "type": "string"\n },\n "start": {\n "type": "string"\n }\n },\n "required": [\n "start",\n "end"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "span_bytes": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "total_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "available",\n "provenance",\n "ranges",\n "total_bytes",\n "span_bytes",\n "non_contiguous",\n "contains_entry"\n ],\n "type": "object"\n }\n ]\n },\n "classification": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "external": {\n "type": "boolean"\n },\n "provenance": {\n "minLength": 1,\n "type": "string"\n },\n "thunk": {\n "type": "boolean"\n },\n "thunk_target": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "external",\n "thunk",\n "thunk_target",\n "provenance"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "name": {\n "type": "string"\n }\n },\n "required": [\n "address",\n "name",\n "classification",\n "body"\n ],\n "type": "object"\n },\n "query_address": {\n "type": "string"\n }\n },\n "required": [\n "query_address",\n "found",\n "procedure"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "found": {\n "const": false,\n "type": "boolean"\n },\n "procedure": {\n "type": "null"\n },\n "query_address": {\n "type": "string"\n },\n "reason": {\n "enum": [\n "outside_segments",\n "not_in_procedure"\n ],\n "type": "string"\n }\n },\n "required": [\n "query_address",\n "found",\n "procedure",\n "reason"\n ],\n "type": "object"\n }\n ]\n },\n "source_address": {\n "type": "string"\n },\n "target_address": {\n "type": "string"\n }\n },\n "required": [\n "target_address",\n "source_address",\n "containing_procedure"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "residual_unknowns": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "search_mode": {\n "const": "literal",\n "type": "string"\n },\n "truncated": {\n "type": "boolean"\n }\n },\n "required": [\n "query",\n "search_mode",\n "matches",\n "references",\n "truncated",\n "residual_unknowns"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Trace Feature"\n },\n {\n "analysisOperation": "trace_call_path",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": false,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Trace direct callers or callees from one exact procedure address until the graph is exhausted or the optional goal is reached. Returns visited nodes, direct-call edges, a shortest traversal path, provider failures, and residual unknowns; unresolved indirect calls remain unknown.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": false,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "direction": "forward",\n "goal": "0x1100",\n "start": "0x1000"\n }\n ],\n "properties": {\n "direction": {\n "default": "forward",\n "description": "Direction in which to traverse or compare relationships.",\n "enum": [\n "forward",\n "backward"\n ],\n "type": "string"\n },\n "goal": {\n "description": "An optional provider-normalized destination address",\n "type": "string"\n },\n "start": {\n "description": "A provider-normalized procedure address",\n "type": "string"\n }\n },\n "required": [\n "start"\n ],\n "type": "object"\n },\n "kind": "enhanced",\n "name": "trace_call_path",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n },\n "__schema1": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema1"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema1"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema1"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema1"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema1"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema1"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "direction": {\n "enum": [\n "forward",\n "backward"\n ],\n "type": "string"\n },\n "edges": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "discovery_depth": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "source_address": {\n "type": "string"\n },\n "target_address": {\n "type": "string"\n }\n },\n "required": [\n "source_address",\n "target_address",\n "discovery_depth"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "failures": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "error": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "invalid_request",\n "type": "string"\n },\n "details": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "unreadable_output",\n "type": "string"\n },\n "details": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "capability_unavailable",\n "type": "string"\n },\n "details": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "provider_unavailable",\n "type": "string"\n },\n "details": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "provider_timeout",\n "type": "string"\n },\n "details": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "cancelled",\n "type": "string"\n },\n "details": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "artifact_integrity_mismatch",\n "type": "string"\n },\n "details": {\n "additionalProperties": false,\n "properties": {\n "calculated_sha256": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "declared_sha256": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "logical_path": {\n "type": "string"\n },\n "unpacked": {\n "type": "boolean"\n }\n },\n "required": [\n "logical_path",\n "declared_sha256",\n "calculated_sha256",\n "unpacked"\n ],\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation",\n "details"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "artifact_operation_failed",\n "type": "string"\n },\n "details": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "evidence_integrity_mismatch",\n "type": "string"\n },\n "details": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "truncated",\n "type": "string"\n },\n "details": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "process_capture_failed",\n "type": "string"\n },\n "details": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "cleanup_incomplete",\n "type": "string"\n },\n "details": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "revision_conflict",\n "type": "string"\n },\n "details": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "configuration_invalid",\n "type": "string"\n },\n "details": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "target_unavailable",\n "type": "string"\n },\n "details": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "category": {\n "enum": [\n "invalid_input",\n "unsupported_provider",\n "integrity_mismatch",\n "truncated",\n "cancelled",\n "timeout",\n "unavailable",\n "execution_failure"\n ],\n "type": "string"\n },\n "code": {\n "const": "execution_failure",\n "type": "string"\n },\n "details": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "remediation": {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "retryable": {\n "type": "boolean"\n }\n },\n "required": [\n "code",\n "category",\n "message",\n "retryable",\n "remediation"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "address",\n "error"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "goal": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "goal_status": {\n "enum": [\n "not_requested",\n "reached",\n "not_reached"\n ],\n "type": "string"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "nodes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "depth": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "address",\n "depth"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "residual_unknowns": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "start": {\n "type": "string"\n },\n "traversal": {\n "additionalProperties": false,\n "properties": {\n "nodes_visited": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "nodes_visited"\n ],\n "type": "object"\n },\n "traversal_path": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "truncated": {\n "type": "boolean"\n }\n },\n "required": [\n "start",\n "goal",\n "direction",\n "goal_status",\n "nodes",\n "edges",\n "traversal_path",\n "failures",\n "traversal",\n "truncated",\n "residual_unknowns",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Trace Call Path"\n },\n {\n "analysisOperation": "trace_native_ui_action",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Trace one unique compiled UI action, object ID, native symbol or exact function address through authored connections, encoded or symbolized Objective-C handlers, and bounded static call references. Typed direct and resolved indirect calls, ambiguous candidates, inferred untyped provider callees, and targetless sites remain distinct. Runtime reachability is unknown; use trace_native_values for recovered value dependencies.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "action": "buildTapped:",\n "max_depth": 8,\n "max_edges": 500,\n "max_nodes": 250\n }\n ],\n "properties": {\n "action": {\n "description": "A unique compiled UI action selector, interface object ID, native symbol or exact function address",\n "minLength": 1,\n "type": "string"\n },\n "max_depth": {\n "default": 8,\n "description": "Maximum permitted depth for this operation.",\n "maximum": 32,\n "minimum": 0,\n "type": "integer"\n },\n "max_edges": {\n "default": 500,\n "description": "Maximum permitted edges for this operation.",\n "maximum": 5000,\n "minimum": 1,\n "type": "integer"\n },\n "max_nodes": {\n "default": 250,\n "description": "Maximum permitted nodes for this operation.",\n "maximum": 2000,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "action"\n ],\n "type": "object"\n },\n "kind": "enhanced",\n "name": "trace_native_ui_action",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "coverage": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "examined": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "facet": {\n "minLength": 1,\n "type": "string"\n },\n "omitted": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "reason": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "enum": [\n "complete",\n "partial",\n "unsupported",\n "not_requested"\n ],\n "type": "string"\n }\n },\n "required": [\n "facet",\n "status",\n "reason",\n "examined",\n "omitted"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "direction": {\n "enum": [\n "forward",\n "backward"\n ],\n "type": "string"\n },\n "edges": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "artifact_path": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "artifact_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "description": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "enum": [\n "binary_metadata",\n "interface_builder_resource",\n "symbol",\n "reference",\n "decompiler"\n ],\n "type": "string"\n },\n "location": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "file_offset": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "address",\n "file_offset"\n ],\n "type": "object"\n }\n },\n "required": [\n "kind",\n "description",\n "location",\n "artifact_path",\n "artifact_sha256"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "from": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "relation": {\n "enum": [\n "contains",\n "outlet_to",\n "target_action",\n "segue_to",\n "objc_dispatch",\n "swift_witness_dispatch",\n "swift_vtable_dispatch",\n "thunk_to",\n "direct_call",\n "indirect_call",\n "provider_call",\n "reads",\n "writes",\n "flows_to",\n "controls"\n ],\n "type": "string"\n },\n "resolution": {\n "enum": [\n "observed",\n "inferred",\n "resolved",\n "ambiguous"\n ],\n "type": "string"\n },\n "to": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "from",\n "to",\n "relation",\n "resolution",\n "evidence",\n "limitations"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "artifact_path": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "artifact_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "description": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "enum": [\n "binary_metadata",\n "interface_builder_resource",\n "symbol",\n "reference",\n "decompiler"\n ],\n "type": "string"\n },\n "location": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "file_offset": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "address",\n "file_offset"\n ],\n "type": "object"\n }\n },\n "required": [\n "kind",\n "description",\n "location",\n "artifact_path",\n "artifact_sha256"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "from": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "reason": {\n "minLength": 1,\n "type": "string"\n },\n "relation": {\n "enum": [\n "contains",\n "outlet_to",\n "target_action",\n "segue_to",\n "objc_dispatch",\n "swift_witness_dispatch",\n "swift_vtable_dispatch",\n "thunk_to",\n "direct_call",\n "indirect_call",\n "provider_call",\n "reads",\n "writes",\n "flows_to",\n "controls"\n ],\n "type": "string"\n },\n "resolution": {\n "const": "unresolved",\n "type": "string"\n },\n "to": {\n "type": "null"\n }\n },\n "required": [\n "id",\n "from",\n "to",\n "relation",\n "resolution",\n "reason",\n "evidence",\n "limitations"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "nodes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "attributes": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "evidence": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "artifact_path": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "artifact_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "description": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "enum": [\n "binary_metadata",\n "interface_builder_resource",\n "symbol",\n "reference",\n "decompiler"\n ],\n "type": "string"\n },\n "location": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "file_offset": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "address",\n "file_offset"\n ],\n "type": "object"\n }\n },\n "required": [\n "kind",\n "description",\n "location",\n "artifact_path",\n "artifact_sha256"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "enum": [\n "storyboard",\n "scene",\n "view_controller",\n "view",\n "control",\n "constraint",\n "layout_guide",\n "resource",\n "placeholder",\n "external_object",\n "outlet",\n "action",\n "segue",\n "objc_class",\n "objc_selector",\n "swift_declaration",\n "swift_requirement",\n "dispatch_table",\n "dispatch_slot",\n "thunk",\n "function",\n "state_value",\n "global_value",\n "field",\n "branch_condition",\n "sink",\n "unknown"\n ],\n "type": "string"\n },\n "location": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "file_offset": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "address",\n "file_offset"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "kind",\n "name",\n "location",\n "attributes",\n "evidence"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "tool_version": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "version",\n "tool_version"\n ],\n "type": "object"\n },\n "reached_depth": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "reason": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "start": {\n "minLength": 1,\n "type": "string"\n },\n "target_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "truncated": {\n "type": "boolean"\n },\n "unresolved": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "artifact_path": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "artifact_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "description": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "enum": [\n "binary_metadata",\n "interface_builder_resource",\n "symbol",\n "reference",\n "decompiler"\n ],\n "type": "string"\n },\n "location": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "file_offset": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "address",\n "file_offset"\n ],\n "type": "object"\n }\n },\n "required": [\n "kind",\n "description",\n "location",\n "artifact_path",\n "artifact_sha256"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "from": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "relation": {\n "enum": [\n "contains",\n "outlet_to",\n "target_action",\n "segue_to",\n "objc_dispatch",\n "swift_witness_dispatch",\n "swift_vtable_dispatch",\n "thunk_to",\n "direct_call",\n "indirect_call",\n "provider_call",\n "reads",\n "writes",\n "flows_to",\n "controls"\n ],\n "type": "string"\n },\n "resolution": {\n "enum": [\n "observed",\n "inferred",\n "resolved",\n "ambiguous"\n ],\n "type": "string"\n },\n "to": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "from",\n "to",\n "relation",\n "resolution",\n "evidence",\n "limitations"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "artifact_path": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "artifact_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "description": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "enum": [\n "binary_metadata",\n "interface_builder_resource",\n "symbol",\n "reference",\n "decompiler"\n ],\n "type": "string"\n },\n "location": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "file_offset": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "address",\n "file_offset"\n ],\n "type": "object"\n }\n },\n "required": [\n "kind",\n "description",\n "location",\n "artifact_path",\n "artifact_sha256"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "from": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "reason": {\n "minLength": 1,\n "type": "string"\n },\n "relation": {\n "enum": [\n "contains",\n "outlet_to",\n "target_action",\n "segue_to",\n "objc_dispatch",\n "swift_witness_dispatch",\n "swift_vtable_dispatch",\n "thunk_to",\n "direct_call",\n "indirect_call",\n "provider_call",\n "reads",\n "writes",\n "flows_to",\n "controls"\n ],\n "type": "string"\n },\n "resolution": {\n "const": "unresolved",\n "type": "string"\n },\n "to": {\n "type": "null"\n }\n },\n "required": [\n "id",\n "from",\n "to",\n "relation",\n "resolution",\n "reason",\n "evidence",\n "limitations"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n }\n },\n "required": [\n "target_sha256",\n "provider",\n "start",\n "direction",\n "nodes",\n "edges",\n "unresolved",\n "reached_depth",\n "truncated",\n "reason",\n "coverage",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Trace Native Ui Action"\n },\n {\n "analysisOperation": "trace_native_values",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Trace a bounded static dependency graph from one explicit native procedure. Includes high-p-code def-use, constants, operators, memory and branch operations, resolved call edges, and derived argument/parameter and return/output bindings. Missing bindings, alias semantics, persistent state and RNG roles remain unknown. Budgets bound depth, decompilations, graph size and payloads; nodes are paginated.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "limit": 1000,\n "max_call_sites": 256,\n "max_depth": 3,\n "max_edges": 10000,\n "max_functions": 16,\n "max_nodes": 5000,\n "offset": 0,\n "procedure": "0x1000"\n }\n ],\n "properties": {\n "limit": {\n "default": 1000,\n "description": "Value for limit.",\n "maximum": 5000,\n "minimum": 1,\n "type": "integer"\n },\n "max_call_sites": {\n "default": 256,\n "description": "Maximum permitted call sites for this operation.",\n "maximum": 4096,\n "minimum": 1,\n "type": "integer"\n },\n "max_depth": {\n "default": 3,\n "description": "Maximum permitted depth for this operation.",\n "maximum": 16,\n "minimum": 0,\n "type": "integer"\n },\n "max_edges": {\n "default": 10000,\n "description": "Maximum permitted edges for this operation.",\n "maximum": 40000,\n "minimum": 1,\n "type": "integer"\n },\n "max_functions": {\n "default": 16,\n "description": "Maximum permitted functions for this operation.",\n "maximum": 64,\n "minimum": 1,\n "type": "integer"\n },\n "max_nodes": {\n "default": 5000,\n "description": "Maximum permitted nodes for this operation.",\n "maximum": 20000,\n "minimum": 1,\n "type": "integer"\n },\n "offset": {\n "default": 0,\n "description": "Value for offset.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "procedure": {\n "description": "Value for procedure.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "procedure"\n ],\n "type": "object"\n },\n "kind": "enhanced",\n "name": "trace_native_values",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "decompilations": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "edges": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "evidence_id": {\n "type": "string"\n },\n "input_index": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "kind": {\n "enum": [\n "def-use",\n "call",\n "parameter-use",\n "argument-binding",\n "return-binding"\n ],\n "type": "string"\n },\n "source": {\n "type": "string"\n },\n "status": {\n "enum": [\n "derived",\n "direct",\n "resolved-indirect",\n "candidate"\n ],\n "type": "string"\n },\n "target": {\n "type": "string"\n }\n },\n "required": [\n "source",\n "target",\n "input_index",\n "kind",\n "status",\n "evidence_id"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "next_offset": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "nodes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "evidence_id": {\n "type": "string"\n },\n "id": {\n "type": "string"\n },\n "kind": {\n "enum": [\n "operation",\n "parameter"\n ],\n "type": "string"\n },\n "operation": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "block_membership": {\n "default": "unavailable",\n "enum": [\n "member",\n "detached",\n "unavailable"\n ],\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "inputs": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "constant_hex": {\n "anyOf": [\n {\n "pattern": "^[0-9a-f]+$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "kind": {\n "enum": [\n "constant",\n "address",\n "register",\n "unique",\n "other"\n ],\n "type": "string"\n },\n "location": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "size_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "size_bytes",\n "location",\n "constant_hex"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "is_dead": {\n "type": "boolean"\n },\n "opcode": {\n "minLength": 1,\n "type": "string"\n },\n "output": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "constant_hex": {\n "anyOf": [\n {\n "pattern": "^[0-9a-f]+$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "kind": {\n "enum": [\n "constant",\n "address",\n "register",\n "unique",\n "other"\n ],\n "type": "string"\n },\n "location": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "size_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "size_bytes",\n "location",\n "constant_hex"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "sequence": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "id",\n "address",\n "sequence",\n "opcode",\n "is_dead",\n "block_membership",\n "inputs",\n "output"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "parameter": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "data_type": {\n "type": "string"\n },\n "name": {\n "type": "string"\n },\n "ordinal": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "ordinal",\n "name",\n "data_type"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "procedure": {\n "type": "string"\n }\n },\n "required": [\n "id",\n "procedure",\n "evidence_id",\n "kind",\n "operation",\n "parameter"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "procedures": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "analysis_profile_digest": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "depth": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "evidence_id": {\n "type": "string"\n },\n "provider": {\n "type": "string"\n }\n },\n "required": [\n "address",\n "depth",\n "evidence_id",\n "provider",\n "analysis_profile_digest"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "seed": {\n "type": "string"\n },\n "target_sha256": {\n "type": "string"\n },\n "total_edges": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "total_nodes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "truncated": {\n "type": "boolean"\n },\n "unknowns": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "procedure": {\n "type": "string"\n },\n "reason": {\n "type": "string"\n }\n },\n "required": [\n "procedure",\n "address",\n "reason"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "seed",\n "target_sha256",\n "nodes",\n "edges",\n "procedures",\n "unknowns",\n "total_nodes",\n "total_edges",\n "decompilations",\n "next_offset",\n "truncated",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Trace Native Values"\n },\n {\n "analysisOperation": "observe_native_ui",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": true,\n "readOnlyHint": false\n },\n "description": "Observe an already-running native app by PID and window ID, bound to the active Mach-O target. Captures a bounded accessibility tree and selected-window screenshot; OS permission denial fails without broad capture or target launch.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": true,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": true\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "pid": 123,\n "window_id": 456\n }\n ],\n "properties": {\n "accessibility": {\n "default": true,\n "description": "Value for accessibility.",\n "type": "boolean"\n },\n "max_nodes": {\n "default": 500,\n "description": "Maximum accessibility nodes per capture; increase for large windows.",\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n "pid": {\n "description": "Value for pid.",\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n "screenshot": {\n "default": true,\n "description": "Value for screenshot.",\n "type": "boolean"\n },\n "window_id": {\n "description": "Value for window id.",\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n }\n },\n "required": [\n "pid",\n "window_id"\n ],\n "type": "object"\n },\n "kind": "native-provider",\n "name": "observe_native_ui",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "initial": {\n "additionalProperties": false,\n "properties": {\n "gaps": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "nodes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "actions": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "children_count": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "items": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "type": "array"\n },\n "role": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "title": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "value": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "path",\n "role",\n "title",\n "value",\n "actions",\n "children_count"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "screenshot": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "base64": {\n "minLength": 4,\n "type": "string"\n },\n "height": {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n "mime_type": {\n "const": "image/png",\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "width": {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n }\n },\n "required": [\n "mime_type",\n "base64",\n "sha256",\n "width",\n "height"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "truncated": {\n "type": "boolean"\n },\n "window": {\n "additionalProperties": false,\n "properties": {\n "executable": {\n "type": "string"\n },\n "launch_time": {\n "type": "number"\n },\n "pid": {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n "title": {\n "type": "string"\n },\n "window_id": {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n }\n },\n "required": [\n "pid",\n "window_id",\n "executable",\n "launch_time",\n "title"\n ],\n "type": "object"\n }\n },\n "required": [\n "window",\n "nodes",\n "truncated",\n "screenshot",\n "gaps"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "restore": {\n "const": "leave-as-is",\n "type": "string"\n },\n "steps": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "after": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "gaps": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "nodes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "actions": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "children_count": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "items": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "type": "array"\n },\n "role": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "title": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "value": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "path",\n "role",\n "title",\n "value",\n "actions",\n "children_count"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "screenshot": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "base64": {\n "minLength": 4,\n "type": "string"\n },\n "height": {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n "mime_type": {\n "const": "image/png",\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "width": {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n }\n },\n "required": [\n "mime_type",\n "base64",\n "sha256",\n "width",\n "height"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "truncated": {\n "type": "boolean"\n },\n "window": {\n "additionalProperties": false,\n "properties": {\n "executable": {\n "type": "string"\n },\n "launch_time": {\n "type": "number"\n },\n "pid": {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n "title": {\n "type": "string"\n },\n "window_id": {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n }\n },\n "required": [\n "pid",\n "window_id",\n "executable",\n "launch_time",\n "title"\n ],\n "type": "object"\n }\n },\n "required": [\n "window",\n "nodes",\n "truncated",\n "screenshot",\n "gaps"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "before": {\n "additionalProperties": false,\n "properties": {\n "gaps": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "nodes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "actions": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "children_count": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "items": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "type": "array"\n },\n "role": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "title": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "value": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "path",\n "role",\n "title",\n "value",\n "actions",\n "children_count"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "screenshot": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "base64": {\n "minLength": 4,\n "type": "string"\n },\n "height": {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n "mime_type": {\n "const": "image/png",\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "width": {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n }\n },\n "required": [\n "mime_type",\n "base64",\n "sha256",\n "width",\n "height"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "truncated": {\n "type": "boolean"\n },\n "window": {\n "additionalProperties": false,\n "properties": {\n "executable": {\n "type": "string"\n },\n "launch_time": {\n "type": "number"\n },\n "pid": {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n "title": {\n "type": "string"\n },\n "window_id": {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n }\n },\n "required": [\n "pid",\n "window_id",\n "executable",\n "launch_time",\n "title"\n ],\n "type": "object"\n }\n },\n "required": [\n "window",\n "nodes",\n "truncated",\n "screenshot",\n "gaps"\n ],\n "type": "object"\n },\n "index": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "type": "string"\n },\n "outcome": {\n "enum": [\n "completed",\n "failed",\n "cancelled"\n ],\n "type": "string"\n },\n "reason": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "index",\n "kind",\n "before",\n "after",\n "outcome",\n "reason"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "target_sha256": {\n "type": "string"\n }\n },\n "required": [\n "target_sha256",\n "initial",\n "steps",\n "restore",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Observe Native Ui"\n },\n {\n "analysisOperation": "capture_native_ui_scenario",\n "annotations": {\n "destructiveHint": true,\n "idempotentHint": false,\n "openWorldHint": true,\n "readOnlyHint": false\n },\n "description": "Run selected-element press, increment/decrement scroll, AXValue text entry and bounded wait steps in one exact native app window. Returns ordered before/after captures and action/capture failures. Actions can change app data, network activity and persistent state; application state is left as-is and restoration is not attempted.",\n "effects": {\n "accessesNetwork": true,\n "changesUiState": true,\n "idempotent": false,\n "launchesProcess": true,\n "mayDiscardData": true,\n "mutatesSession": true,\n "mutatesTarget": true,\n "writesFilesystem": true\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "pid": 123,\n "steps": [\n {\n "kind": "wait",\n "milliseconds": 100\n }\n ],\n "window_id": 456\n }\n ],\n "properties": {\n "accessibility": {\n "default": true,\n "description": "Value for accessibility.",\n "type": "boolean"\n },\n "max_nodes": {\n "default": 500,\n "description": "Maximum accessibility nodes per capture; increase for large windows.",\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n "pid": {\n "description": "Value for pid.",\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n "screenshot": {\n "default": true,\n "description": "Value for screenshot.",\n "type": "boolean"\n },\n "steps": {\n "description": "Value for steps.",\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "click",\n "description": "Value for kind.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "items": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "maxItems": 32,\n "type": "array"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "direction": {\n "description": "Direction in which to traverse or compare relationships.",\n "enum": [\n "increment",\n "decrement"\n ],\n "type": "string"\n },\n "kind": {\n "const": "scroll",\n "description": "Value for kind.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "items": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "maxItems": 32,\n "type": "array"\n }\n },\n "required": [\n "kind",\n "path",\n "direction"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "key-entry",\n "description": "Value for kind.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "items": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "maxItems": 32,\n "type": "array"\n },\n "text": {\n "description": "Value for text.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path",\n "text"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "wait",\n "description": "Value for kind.",\n "type": "string"\n },\n "milliseconds": {\n "description": "Wait duration in milliseconds, within the 180-second operation deadline.",\n "maximum": 180000,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "milliseconds"\n ],\n "type": "object"\n }\n ]\n },\n "minItems": 1,\n "type": "array"\n },\n "window_id": {\n "description": "Value for window id.",\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n }\n },\n "required": [\n "pid",\n "window_id",\n "steps"\n ],\n "type": "object"\n },\n "kind": "native-provider",\n "name": "capture_native_ui_scenario",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "initial": {\n "additionalProperties": false,\n "properties": {\n "gaps": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "nodes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "actions": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "children_count": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "items": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "type": "array"\n },\n "role": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "title": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "value": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "path",\n "role",\n "title",\n "value",\n "actions",\n "children_count"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "screenshot": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "base64": {\n "minLength": 4,\n "type": "string"\n },\n "height": {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n "mime_type": {\n "const": "image/png",\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "width": {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n }\n },\n "required": [\n "mime_type",\n "base64",\n "sha256",\n "width",\n "height"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "truncated": {\n "type": "boolean"\n },\n "window": {\n "additionalProperties": false,\n "properties": {\n "executable": {\n "type": "string"\n },\n "launch_time": {\n "type": "number"\n },\n "pid": {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n "title": {\n "type": "string"\n },\n "window_id": {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n }\n },\n "required": [\n "pid",\n "window_id",\n "executable",\n "launch_time",\n "title"\n ],\n "type": "object"\n }\n },\n "required": [\n "window",\n "nodes",\n "truncated",\n "screenshot",\n "gaps"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "restore": {\n "const": "leave-as-is",\n "type": "string"\n },\n "steps": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "after": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "gaps": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "nodes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "actions": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "children_count": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "items": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "type": "array"\n },\n "role": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "title": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "value": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "path",\n "role",\n "title",\n "value",\n "actions",\n "children_count"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "screenshot": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "base64": {\n "minLength": 4,\n "type": "string"\n },\n "height": {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n "mime_type": {\n "const": "image/png",\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "width": {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n }\n },\n "required": [\n "mime_type",\n "base64",\n "sha256",\n "width",\n "height"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "truncated": {\n "type": "boolean"\n },\n "window": {\n "additionalProperties": false,\n "properties": {\n "executable": {\n "type": "string"\n },\n "launch_time": {\n "type": "number"\n },\n "pid": {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n "title": {\n "type": "string"\n },\n "window_id": {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n }\n },\n "required": [\n "pid",\n "window_id",\n "executable",\n "launch_time",\n "title"\n ],\n "type": "object"\n }\n },\n "required": [\n "window",\n "nodes",\n "truncated",\n "screenshot",\n "gaps"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "before": {\n "additionalProperties": false,\n "properties": {\n "gaps": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "nodes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "actions": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "children_count": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "items": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "type": "array"\n },\n "role": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "title": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "value": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "path",\n "role",\n "title",\n "value",\n "actions",\n "children_count"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "screenshot": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "base64": {\n "minLength": 4,\n "type": "string"\n },\n "height": {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n "mime_type": {\n "const": "image/png",\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "width": {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n }\n },\n "required": [\n "mime_type",\n "base64",\n "sha256",\n "width",\n "height"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "truncated": {\n "type": "boolean"\n },\n "window": {\n "additionalProperties": false,\n "properties": {\n "executable": {\n "type": "string"\n },\n "launch_time": {\n "type": "number"\n },\n "pid": {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n "title": {\n "type": "string"\n },\n "window_id": {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n }\n },\n "required": [\n "pid",\n "window_id",\n "executable",\n "launch_time",\n "title"\n ],\n "type": "object"\n }\n },\n "required": [\n "window",\n "nodes",\n "truncated",\n "screenshot",\n "gaps"\n ],\n "type": "object"\n },\n "index": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "type": "string"\n },\n "outcome": {\n "enum": [\n "completed",\n "failed",\n "cancelled"\n ],\n "type": "string"\n },\n "reason": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "index",\n "kind",\n "before",\n "after",\n "outcome",\n "reason"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "target_sha256": {\n "type": "string"\n }\n },\n "required": [\n "target_sha256",\n "initial",\n "steps",\n "restore",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Capture Native Ui Scenario"\n },\n {\n "analysisOperation": "inspect_macho",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": true,\n "readOnlyHint": false\n },\n "description": "Inspect Mach-O slices, load commands, imports, exports, dependencies, build metadata, segments, sections, permissions, and exact command provenance without launching Hopper.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": true,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {}\n ],\n "properties": {},\n "type": "object"\n },\n "kind": "native-provider",\n "name": "inspect_macho",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "architectures": {\n "additionalProperties": false,\n "properties": {\n "exhaustive": {\n "type": "boolean"\n },\n "items": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "alignment": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "cpu_subtype": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "cpu_type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "file_offset": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "type": "string"\n },\n "size": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "name",\n "cpu_type",\n "cpu_subtype",\n "file_offset",\n "size",\n "alignment"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "total": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "items",\n "total",\n "exhaustive",\n "limitations"\n ],\n "type": "object"\n },\n "build_metadata": {\n "additionalProperties": false,\n "properties": {\n "exhaustive": {\n "type": "boolean"\n },\n "items": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "minimum_os": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "platform": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "sdk": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "tools": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "type": "string"\n },\n "version": {\n "type": "string"\n }\n },\n "required": [\n "name",\n "version"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "platform",\n "minimum_os",\n "sdk",\n "tools"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "total": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "items",\n "total",\n "exhaustive",\n "limitations"\n ],\n "type": "object"\n },\n "dependencies": {\n "additionalProperties": false,\n "properties": {\n "exhaustive": {\n "type": "boolean"\n },\n "items": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "compatibility_version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "current_version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "kind": {\n "type": "string"\n },\n "path": {\n "type": "string"\n }\n },\n "required": [\n "path",\n "kind",\n "current_version",\n "compatibility_version"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "total": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "items",\n "total",\n "exhaustive",\n "limitations"\n ],\n "type": "object"\n },\n "endian": {\n "anyOf": [\n {\n "enum": [\n "little",\n "big"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "entrypoints": {\n "additionalProperties": false,\n "properties": {\n "exhaustive": {\n "type": "boolean"\n },\n "items": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "file_offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "file_offset"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "total": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "items",\n "total",\n "exhaustive",\n "limitations"\n ],\n "type": "object"\n },\n "exports": {\n "additionalProperties": false,\n "properties": {\n "exhaustive": {\n "type": "boolean"\n },\n "items": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "pattern": "^0x[a-fA-F0-9]+$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "type": "string"\n },\n "reexport": {\n "anyOf": [\n {\n "type": "boolean"\n },\n {\n "type": "null"\n }\n ]\n },\n "source": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "weak": {\n "anyOf": [\n {\n "type": "boolean"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "name",\n "address",\n "weak",\n "reexport",\n "source"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "total": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "items",\n "total",\n "exhaustive",\n "limitations"\n ],\n "type": "object"\n },\n "file_type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "flags": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "format": {\n "const": "mach-o",\n "type": "string"\n },\n "imports": {\n "additionalProperties": false,\n "properties": {\n "exhaustive": {\n "type": "boolean"\n },\n "items": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "pattern": "^0x[a-fA-F0-9]+$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "type": "string"\n },\n "reexport": {\n "anyOf": [\n {\n "type": "boolean"\n },\n {\n "type": "null"\n }\n ]\n },\n "source": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "weak": {\n "anyOf": [\n {\n "type": "boolean"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "name",\n "address",\n "weak",\n "reexport",\n "source"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "total": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "items",\n "total",\n "exhaustive",\n "limitations"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "load_commands": {\n "additionalProperties": false,\n "properties": {\n "exhaustive": {\n "type": "boolean"\n },\n "items": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "fields": {\n "additionalProperties": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "null"\n }\n ]\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "index": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "type": "string"\n }\n },\n "required": [\n "index",\n "kind",\n "fields"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "total": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "items",\n "total",\n "exhaustive",\n "limitations"\n ],\n "type": "object"\n },\n "provenance": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "command": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "executable_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "exit": {\n "additionalProperties": false,\n "properties": {\n "code": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": -9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "signal": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "code",\n "signal"\n ],\n "type": "object"\n },\n "stderr_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "stdout_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "tool": {\n "minLength": 1,\n "type": "string"\n },\n "tool_version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "version_reason": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "tool",\n "command",\n "tool_version",\n "version_reason",\n "executable_sha256",\n "exit",\n "stdout_bytes",\n "stderr_bytes"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "segments": {\n "additionalProperties": false,\n "properties": {\n "exhaustive": {\n "type": "boolean"\n },\n "items": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "file_offset": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "file_size": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "initial_permissions": {\n "additionalProperties": false,\n "properties": {\n "execute": {\n "anyOf": [\n {\n "type": "boolean"\n },\n {\n "type": "null"\n }\n ]\n },\n "raw": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "read": {\n "anyOf": [\n {\n "type": "boolean"\n },\n {\n "type": "null"\n }\n ]\n },\n "write": {\n "anyOf": [\n {\n "type": "boolean"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "read",\n "write",\n "execute",\n "raw"\n ],\n "type": "object"\n },\n "maximum_permissions": {\n "additionalProperties": false,\n "properties": {\n "execute": {\n "anyOf": [\n {\n "type": "boolean"\n },\n {\n "type": "null"\n }\n ]\n },\n "raw": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "read": {\n "anyOf": [\n {\n "type": "boolean"\n },\n {\n "type": "null"\n }\n ]\n },\n "write": {\n "anyOf": [\n {\n "type": "boolean"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "read",\n "write",\n "execute",\n "raw"\n ],\n "type": "object"\n },\n "name": {\n "type": "string"\n },\n "sections": {\n "additionalProperties": false,\n "properties": {\n "exhaustive": {\n "type": "boolean"\n },\n "items": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "pattern": "^0x[a-fA-F0-9]+$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "alignment": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "file_offset": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "flags": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "name": {\n "type": "string"\n },\n "segment": {\n "type": "string"\n },\n "size": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "segment",\n "name",\n "address",\n "size",\n "file_offset",\n "alignment",\n "flags"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "total": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "items",\n "total",\n "exhaustive",\n "limitations"\n ],\n "type": "object"\n },\n "vm_address": {\n "anyOf": [\n {\n "pattern": "^0x[a-fA-F0-9]+$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "vm_size": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "name",\n "vm_address",\n "vm_size",\n "file_offset",\n "file_size",\n "maximum_permissions",\n "initial_permissions",\n "sections"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "total": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "items",\n "total",\n "exhaustive",\n "limitations"\n ],\n "type": "object"\n },\n "uuid": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "word_size": {\n "anyOf": [\n {\n "anyOf": [\n {\n "const": 32,\n "type": "number"\n },\n {\n "const": 64,\n "type": "number"\n }\n ]\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "format",\n "endian",\n "word_size",\n "file_type",\n "flags",\n "uuid",\n "entrypoints",\n "architectures",\n "build_metadata",\n "load_commands",\n "dependencies",\n "imports",\n "exports",\n "segments",\n "provenance",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Inspect Macho"\n },\n {\n "analysisOperation": "inspect_signature",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": true,\n "readOnlyHint": false\n },\n "description": "Inspect the active artifact\'s code-signing identity, hashes, authorities, requirements, entitlements, hardened-runtime state, and exact command provenance.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": true,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {}\n ],\n "properties": {},\n "type": "object"\n },\n "kind": "native-provider",\n "name": "inspect_signature",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "authorities": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "cdhashes": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "designated_requirement": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "entitlements": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "format": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "hardened_runtime": {\n "anyOf": [\n {\n "type": "boolean"\n },\n {\n "type": "null"\n }\n ]\n },\n "hash_algorithms": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "identifier": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "provenance": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "command": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "executable_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "exit": {\n "additionalProperties": false,\n "properties": {\n "code": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": -9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "signal": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "code",\n "signal"\n ],\n "type": "object"\n },\n "stderr_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "stdout_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "tool": {\n "minLength": 1,\n "type": "string"\n },\n "tool_version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "version_reason": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "tool",\n "command",\n "tool_version",\n "version_reason",\n "executable_sha256",\n "exit",\n "stdout_bytes",\n "stderr_bytes"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "signed": {\n "type": "boolean"\n },\n "team_identifier": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "timestamp": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "signed",\n "identifier",\n "team_identifier",\n "format",\n "cdhashes",\n "hash_algorithms",\n "authorities",\n "designated_requirement",\n "entitlements",\n "timestamp",\n "hardened_runtime",\n "provenance",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Inspect Signature"\n },\n {\n "analysisOperation": "inspect_plist",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": true,\n "readOnlyHint": false\n },\n "description": "Parse Info.plist from the active artifact by default, or pass any local plist path. Returns normalized JSON rather than plutil text.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": true,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {\n "path": "/Applications/Example.app/Contents/Info.plist"\n }\n ],\n "properties": {\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "type": "object"\n },\n "kind": "native-provider",\n "name": "inspect_plist",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "bundle": {\n "additionalProperties": false,\n "properties": {\n "executable": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "identifier": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "short_version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "identifier",\n "executable",\n "name",\n "version",\n "short_version"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "xml",\n "binary",\n "json",\n "unknown"\n ],\n "type": "string"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "provenance": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "command": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "executable_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "exit": {\n "additionalProperties": false,\n "properties": {\n "code": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": -9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "signal": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "code",\n "signal"\n ],\n "type": "object"\n },\n "stderr_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "stdout_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "tool": {\n "minLength": 1,\n "type": "string"\n },\n "tool_version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "version_reason": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "tool",\n "command",\n "tool_version",\n "version_reason",\n "executable_sha256",\n "exit",\n "stdout_bytes",\n "stderr_bytes"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "source_path": {\n "type": "string"\n },\n "value": {\n "$ref": "#/$defs/__schema0"\n }\n },\n "required": [\n "format",\n "value",\n "bundle",\n "source_path",\n "provenance",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Inspect Plist"\n },\n {\n "analysisOperation": "list_architectures",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": true,\n "readOnlyHint": false\n },\n "description": "List thin or universal Mach-O slices with offsets, sizes, alignment, explicit coverage, and native-tool provenance.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": true,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {}\n ],\n "properties": {},\n "type": "object"\n },\n "kind": "native-provider",\n "name": "list_architectures",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "architectures": {\n "additionalProperties": false,\n "properties": {\n "exhaustive": {\n "type": "boolean"\n },\n "items": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "alignment": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "cpu_subtype": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "cpu_type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "file_offset": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "type": "string"\n },\n "size": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "name",\n "cpu_type",\n "cpu_subtype",\n "file_offset",\n "size",\n "alignment"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "total": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "items",\n "total",\n "exhaustive",\n "limitations"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "provenance": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "command": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "executable_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "exit": {\n "additionalProperties": false,\n "properties": {\n "code": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": -9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "signal": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "code",\n "signal"\n ],\n "type": "object"\n },\n "stderr_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "stdout_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "tool": {\n "minLength": 1,\n "type": "string"\n },\n "tool_version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "version_reason": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "tool",\n "command",\n "tool_version",\n "version_reason",\n "executable_sha256",\n "exit",\n "stdout_bytes",\n "stderr_bytes"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "architectures",\n "provenance",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "List Architectures"\n },\n {\n "analysisOperation": "demangle_swift",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": true,\n "readOnlyHint": false\n },\n "description": "Demangle an ordered list of single-line Swift symbols without requiring Hopper. Each input returns demangled, unchanged, or invalid status.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": true,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {\n "symbols": [\n "$s4Test3fooyyF"\n ]\n }\n ],\n "properties": {\n "symbols": {\n "description": "Ordered Swift symbols to demangle.",\n "items": {\n "minLength": 1,\n "pattern": "^[^\\\\n]*$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "symbols"\n ],\n "type": "object"\n },\n "kind": "native-provider",\n "name": "demangle_swift",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "provenance": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "command": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "executable_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "exit": {\n "additionalProperties": false,\n "properties": {\n "code": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": -9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "signal": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "code",\n "signal"\n ],\n "type": "object"\n },\n "stderr_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "stdout_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "tool": {\n "minLength": 1,\n "type": "string"\n },\n "tool_version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "version_reason": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "tool",\n "command",\n "tool_version",\n "version_reason",\n "executable_sha256",\n "exit",\n "stdout_bytes",\n "stderr_bytes"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "symbols": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "input": {\n "type": "string"\n },\n "output": {\n "type": "string"\n },\n "status": {\n "enum": [\n "demangled",\n "unchanged",\n "invalid"\n ],\n "type": "string"\n }\n },\n "required": [\n "input",\n "output",\n "status"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "symbols",\n "provenance",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Demangle Swift"\n },\n {\n "analysisOperation": "inspect_artifact",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": true,\n "readOnlyHint": false\n },\n "description": "Inspect an active archive or application package in one call. Returns the complete content-addressed artifact graph, source Evidence, observations, relationships, integrity contradictions, hypotheses, unexplored branches, limitations, and next probes inline. Read-only DMG mounting is used automatically on supported macOS hosts. Integrity mismatches fail by default; record-and-continue keeps mismatches explicitly untrusted. It does not extract files; use extract_artifact to materialize its regular contents.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": true,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": true\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {}\n ],\n "properties": {\n "integrity_policy": {\n "default": "fail",\n "description": "Value for integrity policy.",\n "enum": [\n "fail",\n "record-and-continue"\n ],\n "type": "string"\n }\n },\n "type": "object"\n },\n "kind": "artifact-provider",\n "name": "inspect_artifact",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "contradictions": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "contradiction_id": {\n "pattern": "^aic_[a-f0-9]{64}$",\n "type": "string"\n },\n "declared_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "observed_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "occurrence_id": {\n "pattern": "^occ_[a-f0-9]{64}$",\n "type": "string"\n },\n "statement": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "contradiction_id",\n "statement",\n "occurrence_id",\n "declared_sha256",\n "observed_sha256",\n "evidence_id"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "coverage": {\n "additionalProperties": false,\n "properties": {\n "hypotheses_omitted": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "hypotheses_retained": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "next_probes_omitted": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "next_probes_retained": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "observations_omitted": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "observations_retained": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "relationships_omitted": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "relationships_retained": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "status": {\n "enum": [\n "complete-within-substeps",\n "partial",\n "truncated"\n ],\n "type": "string"\n },\n "substeps_completed": {\n "const": 1,\n "type": "number"\n },\n "unexplored_branches_omitted": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "unexplored_branches_retained": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "status",\n "substeps_completed",\n "observations_retained",\n "observations_omitted",\n "relationships_retained",\n "relationships_omitted",\n "hypotheses_retained",\n "hypotheses_omitted",\n "unexplored_branches_retained",\n "unexplored_branches_omitted",\n "next_probes_retained",\n "next_probes_omitted"\n ],\n "type": "object"\n },\n "derived_relationships": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "logical_path": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "occurrence_id": {\n "pattern": "^occ_[a-f0-9]{64}$",\n "type": "string"\n },\n "relation": {\n "enum": [\n "contains",\n "extracts",\n "slice-of",\n "embeds",\n "loads",\n "maps-source",\n "derived-from"\n ],\n "type": "string"\n },\n "relationship_id": {\n "pattern": "^air_[a-f0-9]{64}$",\n "type": "string"\n },\n "source_artifact_id": {\n "pattern": "^art_[a-f0-9]{64}$",\n "type": "string"\n },\n "target_artifact_id": {\n "pattern": "^art_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "relationship_id",\n "relation",\n "source_artifact_id",\n "target_artifact_id",\n "occurrence_id",\n "logical_path",\n "evidence_id"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "hypotheses": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "basis_evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "confidence": {\n "enum": [\n "medium",\n "low"\n ],\n "type": "string"\n },\n "hypothesis_id": {\n "pattern": "^aih_[a-f0-9]{64}$",\n "type": "string"\n },\n "limitation": {\n "minLength": 1,\n "type": "string"\n },\n "statement": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "hypothesis_id",\n "statement",\n "confidence",\n "basis_evidence_ids",\n "limitation"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "inspection_id": {\n "pattern": "^ai_[a-f0-9]{64}$",\n "type": "string"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "next_probes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "authority": {\n "enum": [\n "artifact-bytes",\n "managed-static-analysis",\n "native-analysis-provider",\n "ast-static-analysis"\n ],\n "type": "string"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "rationale": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "operation",\n "rationale",\n "authority"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "observations": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "kind": {\n "enum": [\n "root-manifest",\n "artifact",\n "occurrence",\n "integrity"\n ],\n "type": "string"\n },\n "observation_id": {\n "pattern": "^aio_[a-f0-9]{64}$",\n "type": "string"\n },\n "subject": {\n "minLength": 1,\n "type": "string"\n },\n "value": {\n "$ref": "#/$defs/__schema0"\n }\n },\n "required": [\n "observation_id",\n "kind",\n "subject",\n "value",\n "evidence_id"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "subject": {\n "additionalProperties": false,\n "properties": {\n "manifest_id": {\n "pattern": "^agm_[a-f0-9]{64}$",\n "type": "string"\n },\n "root_artifact_id": {\n "pattern": "^art_[a-f0-9]{64}$",\n "type": "string"\n },\n "root_format": {\n "minLength": 1,\n "type": "string"\n },\n "root_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "manifest_id",\n "root_artifact_id",\n "root_sha256",\n "root_format"\n ],\n "type": "object"\n },\n "substeps": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "operation": {\n "const": "inventory_artifact",\n "type": "string"\n },\n "status": {\n "const": "completed",\n "type": "string"\n },\n "substep_id": {\n "pattern": "^ais_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "substep_id",\n "operation",\n "status",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "unexplored_branches": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "branch_id": {\n "pattern": "^aib_[a-f0-9]{64}$",\n "type": "string"\n },\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "next_probe": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "authority": {\n "enum": [\n "artifact-bytes",\n "managed-static-analysis",\n "native-analysis-provider",\n "ast-static-analysis"\n ],\n "type": "string"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "rationale": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "operation",\n "rationale",\n "authority"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "reason": {\n "enum": [\n "format-specific-analysis-required",\n "unknown-format"\n ],\n "type": "string"\n }\n },\n "required": [\n "branch_id",\n "reason",\n "detail",\n "next_probe",\n "evidence_id"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "inspection_id",\n "subject",\n "substeps",\n "observations",\n "derived_relationships",\n "hypotheses",\n "contradictions",\n "unexplored_branches",\n "next_probes",\n "coverage",\n "evidence_links",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Inspect Artifact"\n },\n {\n "analysisOperation": "extract_artifact",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": false,\n "openWorldHint": true,\n "readOnlyHint": false\n },\n "description": "Extract all regular files from the active archive or application package into a fresh temporary directory chosen by REA. The result includes its location. Rejects traversal and symlink escapes, never overwrites, enforces archive integrity checks, and verifies cleanup. Integrity mismatches fail by default; record-and-continue extracts the observed bytes and reports each mismatch as an untrusted integrity contradiction.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": false,\n "launchesProcess": true,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": true\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {}\n ],\n "properties": {\n "integrity_policy": {\n "default": "fail",\n "description": "Value for integrity policy.",\n "enum": [\n "fail",\n "record-and-continue"\n ],\n "type": "string"\n }\n },\n "type": "object"\n },\n "kind": "artifact-provider",\n "name": "extract_artifact",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "artifacts": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "artifact_id": {\n "pattern": "^art_[a-f0-9]{64}$",\n "type": "string"\n },\n "bytes_written": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "created": {\n "type": "boolean"\n },\n "relative_path": {\n "minLength": 1,\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "artifact_id",\n "relative_path",\n "sha256",\n "bytes_written",\n "created"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "cleanup": {\n "additionalProperties": false,\n "properties": {\n "attempted": {\n "type": "boolean"\n },\n "residual_paths": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "verified": {\n "type": "boolean"\n }\n },\n "required": [\n "attempted",\n "verified",\n "residual_paths"\n ],\n "type": "object"\n },\n "containment_verified": {\n "type": "boolean"\n },\n "extraction_manifest": {\n "additionalProperties": false,\n "properties": {\n "extraction_id": {\n "pattern": "^aex_[a-f0-9]{64}$",\n "type": "string"\n },\n "files_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "output_root_alias": {\n "const": "$OUTPUT_ROOT",\n "type": "string"\n },\n "selected_occurrence_ids": {\n "items": {\n "pattern": "^occ_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "source_manifest_id": {\n "pattern": "^agm_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "extraction_id",\n "source_manifest_id",\n "selected_occurrence_ids",\n "files_sha256",\n "output_root_alias"\n ],\n "type": "object"\n },\n "integrity_contradictions": {\n "default": [],\n "items": {\n "additionalProperties": false,\n "properties": {\n "contradiction_id": {\n "pattern": "^ic_[a-f0-9]{64}$",\n "type": "string"\n },\n "declared_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "entry_kind": {\n "enum": [\n "file",\n "slice"\n ],\n "type": "string"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "logical_path": {\n "minLength": 1,\n "type": "string"\n },\n "observed_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "occurrence_id": {\n "pattern": "^occ_[a-f0-9]{64}$",\n "type": "string"\n },\n "parent_artifact_id": {\n "pattern": "^art_[a-f0-9]{64}$",\n "type": "string"\n },\n "provenance": {\n "const": "container-integrity-metadata-versus-observed-bytes",\n "type": "string"\n },\n "trust": {\n "const": "observed-untrusted",\n "type": "string"\n },\n "unpacked": {\n "type": "boolean"\n }\n },\n "required": [\n "contradiction_id",\n "occurrence_id",\n "parent_artifact_id",\n "logical_path",\n "declared_sha256",\n "observed_sha256",\n "entry_kind",\n "unpacked",\n "trust",\n "provenance",\n "limitations"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "manifest": {\n "additionalProperties": false,\n "properties": {\n "edge_count": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "graph_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "manifest_id": {\n "pattern": "^agm_[a-f0-9]{64}$",\n "type": "string"\n },\n "node_count": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "occurrence_count": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "root_artifact_id": {\n "pattern": "^art_[a-f0-9]{64}$",\n "type": "string"\n },\n "root_format": {\n "enum": [\n "dmg",\n "zip",\n "pkg",\n "asar",\n "javascript-bundle",\n "source-map",\n "mach-o-universal",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "hopper",\n "analysis-database",\n "ipa",\n "apk",\n "msix",\n "appx",\n "plist",\n "entitlements",\n "directory",\n "file",\n "unknown"\n ],\n "type": "string"\n },\n "root_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "manifest_id",\n "root_artifact_id",\n "root_sha256",\n "root_format",\n "graph_sha256",\n "node_count",\n "occurrence_count",\n "edge_count"\n ],\n "type": "object"\n },\n "output_root": {\n "minLength": 1,\n "type": "string"\n },\n "provenance": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "arguments": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "effects": {\n "items": {\n "enum": [\n "read",\n "write",\n "mount"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "executable_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "exit_code": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": -9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "tool": {\n "minLength": 1,\n "type": "string"\n },\n "tool_version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "tool",\n "arguments",\n "tool_version",\n "executable_sha256",\n "exit_code",\n "effects"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "manifest",\n "extraction_manifest",\n "output_root",\n "artifacts",\n "containment_verified",\n "cleanup",\n "provenance",\n "integrity_contradictions",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Extract Artifact"\n },\n {\n "analysisOperation": "decode_interface_builder",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Decode compiled storyboard and nib archives inside the active Apple app bundle, including keyed property lists and NIBArchive object tables, into a bounded object, hierarchy, and connection graph. This is static archive parsing; unrecognized archive classes and unresolved code handlers remain explicit unknowns.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {}\n ],\n "properties": {\n "max_connections": {\n "default": 40000,\n "description": "Maximum permitted connections for this operation.",\n "maximum": 40000,\n "minimum": 1,\n "type": "integer"\n },\n "max_documents": {\n "default": 64,\n "description": "Maximum permitted documents for this operation.",\n "maximum": 64,\n "minimum": 1,\n "type": "integer"\n },\n "max_objects": {\n "default": 20000,\n "description": "Maximum permitted objects for this operation.",\n "maximum": 20000,\n "minimum": 1,\n "type": "integer"\n }\n },\n "type": "object"\n },\n "kind": "artifact-provider",\n "name": "decode_interface_builder",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "documents": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "archive_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "connection_count": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "document_kind": {\n "enum": [\n "nib",\n "storyboard_scene"\n ],\n "type": "string"\n },\n "hierarchy_complete": {\n "type": "boolean"\n },\n "object_count": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "relative_path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "relative_path",\n "archive_sha256",\n "document_kind",\n "object_count",\n "connection_count",\n "hierarchy_complete"\n ],\n "type": "object"\n },\n "maxItems": 64,\n "type": "array"\n },\n "graph": {\n "additionalProperties": false,\n "properties": {\n "coverage": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "examined": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "facet": {\n "minLength": 1,\n "type": "string"\n },\n "omitted": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "reason": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "enum": [\n "complete",\n "partial",\n "unsupported",\n "not_requested"\n ],\n "type": "string"\n }\n },\n "required": [\n "facet",\n "status",\n "reason",\n "examined",\n "omitted"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "edges": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "artifact_path": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "artifact_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "description": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "enum": [\n "binary_metadata",\n "interface_builder_resource",\n "symbol",\n "reference",\n "decompiler"\n ],\n "type": "string"\n },\n "location": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "file_offset": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "address",\n "file_offset"\n ],\n "type": "object"\n }\n },\n "required": [\n "kind",\n "description",\n "location",\n "artifact_path",\n "artifact_sha256"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "from": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "relation": {\n "enum": [\n "contains",\n "outlet_to",\n "target_action",\n "segue_to",\n "objc_dispatch",\n "swift_witness_dispatch",\n "swift_vtable_dispatch",\n "thunk_to",\n "direct_call",\n "indirect_call",\n "provider_call",\n "reads",\n "writes",\n "flows_to",\n "controls"\n ],\n "type": "string"\n },\n "resolution": {\n "enum": [\n "observed",\n "inferred",\n "resolved",\n "ambiguous"\n ],\n "type": "string"\n },\n "to": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "from",\n "to",\n "relation",\n "resolution",\n "evidence",\n "limitations"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "artifact_path": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "artifact_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "description": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "enum": [\n "binary_metadata",\n "interface_builder_resource",\n "symbol",\n "reference",\n "decompiler"\n ],\n "type": "string"\n },\n "location": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "file_offset": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "address",\n "file_offset"\n ],\n "type": "object"\n }\n },\n "required": [\n "kind",\n "description",\n "location",\n "artifact_path",\n "artifact_sha256"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "from": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "reason": {\n "minLength": 1,\n "type": "string"\n },\n "relation": {\n "enum": [\n "contains",\n "outlet_to",\n "target_action",\n "segue_to",\n "objc_dispatch",\n "swift_witness_dispatch",\n "swift_vtable_dispatch",\n "thunk_to",\n "direct_call",\n "indirect_call",\n "provider_call",\n "reads",\n "writes",\n "flows_to",\n "controls"\n ],\n "type": "string"\n },\n "resolution": {\n "const": "unresolved",\n "type": "string"\n },\n "to": {\n "type": "null"\n }\n },\n "required": [\n "id",\n "from",\n "to",\n "relation",\n "resolution",\n "reason",\n "evidence",\n "limitations"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "nodes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "attributes": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "evidence": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "artifact_path": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "artifact_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "description": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "enum": [\n "binary_metadata",\n "interface_builder_resource",\n "symbol",\n "reference",\n "decompiler"\n ],\n "type": "string"\n },\n "location": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "file_offset": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "address",\n "file_offset"\n ],\n "type": "object"\n }\n },\n "required": [\n "kind",\n "description",\n "location",\n "artifact_path",\n "artifact_sha256"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "enum": [\n "storyboard",\n "scene",\n "view_controller",\n "view",\n "control",\n "constraint",\n "layout_guide",\n "resource",\n "placeholder",\n "external_object",\n "outlet",\n "action",\n "segue",\n "objc_class",\n "objc_selector",\n "swift_declaration",\n "swift_requirement",\n "dispatch_table",\n "dispatch_slot",\n "thunk",\n "function",\n "state_value",\n "global_value",\n "field",\n "branch_condition",\n "sink",\n "unknown"\n ],\n "type": "string"\n },\n "location": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "file_offset": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "address",\n "file_offset"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "kind",\n "name",\n "location",\n "attributes",\n "evidence"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "tool_version": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "version",\n "tool_version"\n ],\n "type": "object"\n },\n "target_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "truncated": {\n "type": "boolean"\n }\n },\n "required": [\n "target_sha256",\n "provider",\n "nodes",\n "edges",\n "coverage",\n "truncated"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "target_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "target_sha256",\n "documents",\n "graph",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Decode Interface Builder"\n },\n {\n "analysisOperation": "inspect_keyed_archive",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Inspect one Foundation NSKeyedArchiver plist in the active app bundle as original object-table nodes, class descriptors, named roots, and UID edges. Preserves shared and cyclic references without instantiating classes. The path is relative to the bundle; root selection and object pagination preserve original identities.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "path": "Contents/Resources/Model.plist"\n }\n ],\n "properties": {\n "limit": {\n "default": 20000,\n "description": "Value for limit.",\n "maximum": 20000,\n "minimum": 1,\n "type": "integer"\n },\n "offset": {\n "default": 0,\n "description": "Value for offset.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "default": ".",\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "root": {\n "description": "Value for root.",\n "type": "string"\n }\n },\n "type": "object"\n },\n "kind": "artifact-provider",\n "name": "inspect_keyed_archive",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "archive_format": {\n "enum": [\n "binary-plist",\n "xml-plist"\n ],\n "type": "string"\n },\n "archive_path": {\n "type": "string"\n },\n "archive_sha256": {\n "type": "string"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "next_offset": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "objects": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "class_id": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "class_name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "id": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "enum": [\n "nil",\n "scalar",\n "array",\n "dictionary",\n "class-descriptor",\n "archived-object"\n ],\n "type": "string"\n },\n "status": {\n "enum": [\n "observed",\n "unknown-class",\n "unresolved-class",\n "nil"\n ],\n "type": "string"\n },\n "value": {\n "$ref": "#/$defs/__schema0"\n }\n },\n "required": [\n "id",\n "kind",\n "class_id",\n "class_name",\n "status",\n "value"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "references": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "path": {\n "items": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n ]\n },\n "type": "array"\n },\n "raw": {\n "$ref": "#/$defs/__schema0"\n },\n "source": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "enum": [\n "resolved",\n "nil",\n "unresolved",\n "malformed"\n ],\n "type": "string"\n },\n "target": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "source",\n "path",\n "target",\n "status",\n "raw"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "roots": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "target_sha256": {\n "type": "string"\n },\n "total_objects": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "total_references": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "truncated": {\n "type": "boolean"\n }\n },\n "required": [\n "target_sha256",\n "archive_path",\n "archive_sha256",\n "archive_format",\n "roots",\n "objects",\n "references",\n "total_objects",\n "total_references",\n "offset",\n "next_offset",\n "truncated",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Inspect Keyed Archive"\n },\n {\n "analysisOperation": "inspect_asset_catalog",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": true,\n "readOnlyHint": false\n },\n "description": "Inspect compiled Assets.car metadata in an active Apple app bundle. Returns stable paginated catalog and rendition records with raw assetutil metadata and catalog digests; rendition bytes are not extracted.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": true,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "limit": 1000,\n "offset": 0\n }\n ],\n "properties": {\n "limit": {\n "default": 1000,\n "description": "Value for limit.",\n "maximum": 10000,\n "minimum": 1,\n "type": "integer"\n },\n "offset": {\n "default": 0,\n "description": "Value for offset.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "type": "object"\n },\n "kind": "artifact-provider",\n "name": "inspect_asset_catalog",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "catalogs": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "path": {\n "minLength": 1,\n "type": "string"\n },\n "record_count": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "path",\n "sha256",\n "record_count"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "limit": {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "next_offset": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "records": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "asset_name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "catalog_path": {\n "minLength": 1,\n "type": "string"\n },\n "catalog_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "index": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "enum": [\n "catalog",\n "rendition"\n ],\n "type": "string"\n },\n "metadata": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "rendition_name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "catalog_path",\n "catalog_sha256",\n "index",\n "kind",\n "asset_name",\n "rendition_name",\n "metadata"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "resource_key_matches": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "field": {\n "minLength": 1,\n "type": "string"\n },\n "key": {\n "minLength": 1,\n "type": "string"\n },\n "renditions": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "catalog_path": {\n "minLength": 1,\n "type": "string"\n },\n "catalog_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "record_index": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "rendition_name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "catalog_path",\n "catalog_sha256",\n "record_index",\n "rendition_name"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "source_archive_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "source_node_id": {\n "minLength": 1,\n "type": "string"\n },\n "source_path": {\n "minLength": 1,\n "type": "string"\n },\n "status": {\n "enum": [\n "matched",\n "ambiguous",\n "unmatched"\n ],\n "type": "string"\n }\n },\n "required": [\n "source_node_id",\n "source_path",\n "source_archive_sha256",\n "field",\n "key",\n "status",\n "renditions"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "target_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "total_records": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "truncated": {\n "type": "boolean"\n }\n },\n "required": [\n "target_sha256",\n "catalogs",\n "total_records",\n "offset",\n "limit",\n "records",\n "resource_key_matches",\n "next_offset",\n "truncated",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Inspect Asset Catalog"\n },\n {\n "analysisOperation": "inspect_managed_artifact",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "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 complete inline inventories when metadata is admitted and explicit partial or malformed coverage otherwise.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {\n "path": "/tmp/Example.dll"\n }\n ],\n "properties": {\n "path": {\n "description": "Explicit managed PE/CLI path; omit to reuse the previously selected managed target",\n "minLength": 1,\n "type": "string"\n }\n },\n "type": "object"\n },\n "kind": "managed-provider",\n "name": "inspect_managed_artifact",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "artifact": {\n "additionalProperties": false,\n "properties": {\n "byte_length": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "format": {\n "const": "pe",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "path",\n "sha256",\n "byte_length",\n "format"\n ],\n "type": "object"\n },\n "assembly": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "culture": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "flags": {\n "maximum": 4294967295,\n "minimum": 0,\n "type": "integer"\n },\n "hash_algorithm": {\n "maximum": 4294967295,\n "minimum": 0,\n "type": "integer"\n },\n "name": {\n "type": "string"\n },\n "public_key": {\n "additionalProperties": false,\n "properties": {\n "byte_length": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "enum": [\n "none",\n "public-key",\n "public-key-token"\n ],\n "type": "string"\n },\n "sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "token": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{16}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "kind",\n "byte_length",\n "sha256",\n "token"\n ],\n "type": "object"\n },\n "row_offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "token": {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n },\n "version": {\n "pattern": "^\\\\d+\\\\.\\\\d+\\\\.\\\\d+\\\\.\\\\d+$",\n "type": "string"\n }\n },\n "required": [\n "name",\n "version",\n "culture",\n "flags",\n "hash_algorithm",\n "public_key",\n "token",\n "row_offset"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "attributes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "constructor_token": {\n "anyOf": [\n {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "decoded_fixed_string": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "parent_token": {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n },\n "row_offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "token": {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n },\n "type_name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "value_length": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "value_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "parent_token",\n "constructor_token",\n "type_name",\n "value_length",\n "value_sha256",\n "decoded_fixed_string",\n "token",\n "row_offset"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "classification": {\n "additionalProperties": false,\n "properties": {\n "container": {\n "const": "pe",\n "type": "string"\n },\n "evidence": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "code": {\n "minLength": 1,\n "type": "string"\n },\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "file_offset": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "code",\n "detail",\n "file_offset"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "implementation": {\n "enum": [\n "cil",\n "cil-and-ready-to-run",\n "cpp-cli-mixed",\n "metadata-only",\n "not-managed",\n "unknown"\n ],\n "type": "string"\n },\n "managed_architecture": {\n "enum": [\n "anycpu",\n "anycpu-prefer-32",\n "x86",\n "x86_64",\n "arm",\n "arm64",\n "unknown"\n ],\n "type": "string"\n },\n "runtime_family": {\n "enum": [\n "dotnet-framework",\n "modern-dotnet",\n "unity-mono",\n "mixed-clr-native",\n "unknown"\n ],\n "type": "string"\n },\n "status": {\n "enum": [\n "managed",\n "not-managed",\n "malformed"\n ],\n "type": "string"\n }\n },\n "required": [\n "status",\n "container",\n "runtime_family",\n "implementation",\n "managed_architecture",\n "evidence"\n ],\n "type": "object"\n },\n "coverage": {\n "additionalProperties": false,\n "properties": {\n "issues": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "code": {\n "enum": [\n "invalid-cli-header",\n "invalid-directory",\n "invalid-metadata-root",\n "invalid-stream",\n "missing-stream",\n "invalid-tables",\n "invalid-row",\n "invalid-heap-index",\n "invalid-string",\n "invalid-blob",\n "unsupported-signature",\n "invalid-guid",\n "invalid-resource"\n ],\n "type": "string"\n },\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "offset": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "scope": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "code",\n "scope",\n "offset",\n "detail"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "state": {\n "enum": [\n "complete",\n "partial",\n "unavailable"\n ],\n "type": "string"\n }\n },\n "required": [\n "state",\n "issues"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "metadata": {\n "additionalProperties": false,\n "properties": {\n "status": {\n "enum": [\n "absent",\n "complete",\n "partial",\n "malformed"\n ],\n "type": "string"\n },\n "stream_names": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "table_row_counts": {\n "additionalProperties": {\n "maximum": 4294967295,\n "minimum": 0,\n "type": "integer"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "status",\n "version",\n "stream_names",\n "table_row_counts"\n ],\n "type": "object"\n },\n "module": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "enc_base_id": {\n "anyOf": [\n {\n "pattern": "^[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "enc_id": {\n "anyOf": [\n {\n "pattern": "^[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "generation": {\n "maximum": 65535,\n "minimum": 0,\n "type": "integer"\n },\n "mvid": {\n "anyOf": [\n {\n "pattern": "^[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "type": "string"\n },\n "row_offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "token": {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n }\n },\n "required": [\n "name",\n "generation",\n "mvid",\n "enc_id",\n "enc_base_id",\n "token",\n "row_offset"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "pe": {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n "characteristics": {\n "maximum": 65535,\n "minimum": 0,\n "type": "integer"\n },\n "cli": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "entry_point": {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "enum": [\n "metadata-token",\n "native-rva",\n "none"\n ],\n "type": "string"\n },\n "value": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "kind",\n "value"\n ],\n "type": "object"\n },\n "flag_names": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "flags": {\n "maximum": 4294967295,\n "minimum": 0,\n "type": "integer"\n },\n "header_offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "header_size": {\n "maximum": 9007199254740991,\n "minimum": 72,\n "type": "integer"\n },\n "managed_native_header_rva": {\n "maximum": 4294967295,\n "minimum": 0,\n "type": "integer"\n },\n "managed_native_header_size": {\n "maximum": 4294967295,\n "minimum": 0,\n "type": "integer"\n },\n "metadata_rva": {\n "maximum": 4294967295,\n "minimum": 1,\n "type": "integer"\n },\n "metadata_size": {\n "maximum": 4294967295,\n "minimum": 1,\n "type": "integer"\n },\n "ready_to_run_signature": {\n "type": "boolean"\n },\n "resources_rva": {\n "maximum": 4294967295,\n "minimum": 0,\n "type": "integer"\n },\n "resources_size": {\n "maximum": 4294967295,\n "minimum": 0,\n "type": "integer"\n },\n "runtime_version": {\n "type": "string"\n },\n "strong_name_rva": {\n "maximum": 4294967295,\n "minimum": 0,\n "type": "integer"\n },\n "strong_name_size": {\n "maximum": 4294967295,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "header_offset",\n "header_size",\n "runtime_version",\n "flags",\n "flag_names",\n "entry_point",\n "metadata_rva",\n "metadata_size",\n "resources_rva",\n "resources_size",\n "strong_name_rva",\n "strong_name_size",\n "managed_native_header_rva",\n "managed_native_header_size",\n "ready_to_run_signature"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "machine": {\n "maximum": 65535,\n "minimum": 0,\n "type": "integer"\n },\n "machine_hex": {\n "pattern": "^0x[0-9a-f]{4}$",\n "type": "string"\n },\n "optional_header": {\n "enum": [\n "pe32",\n "pe32-plus"\n ],\n "type": "string"\n },\n "section_count": {\n "maximum": 65535,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "machine",\n "machine_hex",\n "architecture",\n "optional_header",\n "section_count",\n "characteristics",\n "cli"\n ],\n "type": "object"\n },\n "references": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "culture": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "flags": {\n "maximum": 4294967295,\n "minimum": 0,\n "type": "integer"\n },\n "hash_value_length": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "hash_value_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "type": "string"\n },\n "public_key_or_token": {\n "additionalProperties": false,\n "properties": {\n "byte_length": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "enum": [\n "none",\n "public-key",\n "public-key-token"\n ],\n "type": "string"\n },\n "sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "token": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{16}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "kind",\n "byte_length",\n "sha256",\n "token"\n ],\n "type": "object"\n },\n "row_offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "token": {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n },\n "version": {\n "pattern": "^\\\\d+\\\\.\\\\d+\\\\.\\\\d+\\\\.\\\\d+$",\n "type": "string"\n }\n },\n "required": [\n "name",\n "version",\n "culture",\n "flags",\n "public_key_or_token",\n "hash_value_sha256",\n "hash_value_length",\n "token",\n "row_offset"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "resources": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "data_length": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "data_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "declared_offset": {\n "maximum": 4294967295,\n "minimum": 0,\n "type": "integer"\n },\n "embedded": {\n "type": "boolean"\n },\n "flags": {\n "maximum": 4294967295,\n "minimum": 0,\n "type": "integer"\n },\n "implementation_token": {\n "anyOf": [\n {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "type": "string"\n },\n "row_offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "token": {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n },\n "visibility": {\n "enum": [\n "public",\n "private",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "name",\n "flags",\n "visibility",\n "implementation_token",\n "embedded",\n "declared_offset",\n "data_length",\n "data_sha256",\n "token",\n "row_offset"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "target_frameworks": {\n "items": {\n "type": "string"\n },\n "type": "array"\n }\n },\n "required": [\n "artifact",\n "pe",\n "classification",\n "metadata",\n "module",\n "assembly",\n "target_frameworks",\n "references",\n "resources",\n "attributes",\n "coverage",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Inspect Managed Artifact"\n },\n {\n "analysisOperation": "inspect_managed_members",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Inspect PE/CLI metadata members, signatures, raw CIL hashes, 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 tuple hash does not resolve them or fully commit control flow.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {}\n ],\n "properties": {\n "path": {\n "description": "Explicit managed PE/CLI path; omit to reuse the previously selected managed target",\n "minLength": 1,\n "type": "string"\n }\n },\n "type": "object"\n },\n "kind": "managed-provider",\n "name": "inspect_managed_members",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "artifact": {\n "additionalProperties": false,\n "properties": {\n "byte_length": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "format": {\n "const": "pe",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "path",\n "sha256",\n "byte_length",\n "format"\n ],\n "type": "object"\n },\n "call_edges": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "caller": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "caller_token": {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n },\n "opcode": {\n "type": "string"\n },\n "target_kind": {\n "enum": [\n "method-def",\n "member-ref",\n "method-spec",\n "unknown"\n ],\n "type": "string"\n },\n "target_name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "target_token": {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n }\n },\n "required": [\n "caller_token",\n "caller",\n "opcode",\n "target_token",\n "target_kind",\n "target_name"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "coverage": {\n "additionalProperties": false,\n "properties": {\n "issues": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "code": {\n "enum": [\n "invalid-cli-header",\n "invalid-directory",\n "invalid-metadata-root",\n "invalid-stream",\n "missing-stream",\n "invalid-tables",\n "invalid-row",\n "invalid-heap-index",\n "invalid-string",\n "invalid-blob",\n "unsupported-signature",\n "invalid-guid",\n "invalid-resource"\n ],\n "type": "string"\n },\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "offset": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "scope": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "code",\n "scope",\n "offset",\n "detail"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "state": {\n "enum": [\n "complete",\n "partial",\n "unavailable"\n ],\n "type": "string"\n }\n },\n "required": [\n "state",\n "issues"\n ],\n "type": "object"\n },\n "field_accesses": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "field_name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "field_token": {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n },\n "method": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "method_token": {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n },\n "opcode": {\n "type": "string"\n }\n },\n "required": [\n "method_token",\n "method",\n "opcode",\n "field_token",\n "field_name"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "fields": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "declaring_type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "declaring_type_token": {\n "anyOf": [\n {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "flags": {\n "maximum": 65535,\n "minimum": 0,\n "type": "integer"\n },\n "name": {\n "type": "string"\n },\n "row_offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "signature": {\n "additionalProperties": false,\n "properties": {\n "calling_convention": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "field_type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "generic_parameter_count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "issue": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "kind": {\n "enum": [\n "method",\n "field",\n "unknown"\n ],\n "type": "string"\n },\n "parameter_count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "parameter_types": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "parse_status": {\n "enum": [\n "decoded",\n "partial",\n "unsupported",\n "malformed"\n ],\n "type": "string"\n },\n "raw_length": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "raw_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "return_type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "raw_length",\n "raw_sha256",\n "kind",\n "parse_status",\n "calling_convention",\n "generic_parameter_count",\n "parameter_count",\n "return_type",\n "parameter_types",\n "field_type",\n "issue"\n ],\n "type": "object"\n },\n "token": {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n }\n },\n "required": [\n "token",\n "row_offset",\n "declaring_type_token",\n "declaring_type",\n "name",\n "flags",\n "signature"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "identity_scope": {\n "additionalProperties": false,\n "properties": {\n "requires_artifact_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "requires_mvid": {\n "anyOf": [\n {\n "pattern": "^[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "token_identity": {\n "const": "build-local",\n "type": "string"\n }\n },\n "required": [\n "token_identity",\n "requires_artifact_sha256",\n "requires_mvid"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "member_refs": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "type": "string"\n },\n "parent_token": {\n "anyOf": [\n {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "row_offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "signature": {\n "additionalProperties": false,\n "properties": {\n "calling_convention": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "field_type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "generic_parameter_count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "issue": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "kind": {\n "enum": [\n "method",\n "field",\n "unknown"\n ],\n "type": "string"\n },\n "parameter_count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "parameter_types": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "parse_status": {\n "enum": [\n "decoded",\n "partial",\n "unsupported",\n "malformed"\n ],\n "type": "string"\n },\n "raw_length": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "raw_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "return_type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "raw_length",\n "raw_sha256",\n "kind",\n "parse_status",\n "calling_convention",\n "generic_parameter_count",\n "parameter_count",\n "return_type",\n "parameter_types",\n "field_type",\n "issue"\n ],\n "type": "object"\n },\n "token": {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n }\n },\n "required": [\n "token",\n "row_offset",\n "parent_token",\n "name",\n "signature"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "metadata": {\n "additionalProperties": false,\n "properties": {\n "status": {\n "enum": [\n "absent",\n "complete",\n "partial",\n "malformed"\n ],\n "type": "string"\n },\n "table_row_counts": {\n "additionalProperties": {\n "maximum": 4294967295,\n "minimum": 0,\n "type": "integer"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "status",\n "version",\n "table_row_counts"\n ],\n "type": "object"\n },\n "methods": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "body": {\n "additionalProperties": false,\n "properties": {\n "anchors": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "il_offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "opcode": {\n "minLength": 1,\n "type": "string"\n },\n "operand": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "operand_kind": {\n "enum": [\n "none",\n "branch",\n "constant",\n "field",\n "method",\n "signature",\n "string",\n "switch",\n "token",\n "type",\n "variable",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "il_offset",\n "opcode",\n "operand_kind",\n "operand"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "decoded_instruction_count": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "exception_regions": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "class_token": {\n "anyOf": [\n {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "filter_offset": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "flags": {\n "maximum": 4294967295,\n "minimum": 0,\n "type": "integer"\n },\n "handler_length": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "handler_offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "try_length": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "try_offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "flags",\n "try_offset",\n "try_length",\n "handler_offset",\n "handler_length",\n "class_token",\n "filter_offset"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "file_offset": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "header_format": {\n "enum": [\n "tiny",\n "fat",\n "none",\n "unknown"\n ],\n "type": "string"\n },\n "il_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "SHA-256 of exactly the raw il_size CIL bytes; excludes the method header, locals signature, alignment, and extra sections"\n },\n "il_size": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "init_locals": {\n "anyOf": [\n {\n "type": "boolean"\n },\n {\n "type": "null"\n }\n ]\n },\n "instruction_count": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "issue": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "local_var_sig_token": {\n "anyOf": [\n {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "max_stack": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "normalized_il_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "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"\n },\n "opcode_counts": {\n "additionalProperties": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "rva": {\n "maximum": 4294967295,\n "minimum": 0,\n "type": "integer"\n },\n "status": {\n "enum": [\n "present",\n "partial",\n "absent",\n "malformed"\n ],\n "type": "string"\n },\n "truncated_instructions": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "status",\n "header_format",\n "rva",\n "file_offset",\n "max_stack",\n "init_locals",\n "local_var_sig_token",\n "il_size",\n "il_sha256",\n "normalized_il_sha256",\n "instruction_count",\n "decoded_instruction_count",\n "truncated_instructions",\n "opcode_counts",\n "anchors",\n "exception_regions",\n "issue"\n ],\n "type": "object"\n },\n "declaring_type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "declaring_type_token": {\n "anyOf": [\n {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "flags": {\n "maximum": 65535,\n "minimum": 0,\n "type": "integer"\n },\n "impl_flags": {\n "maximum": 65535,\n "minimum": 0,\n "type": "integer"\n },\n "name": {\n "type": "string"\n },\n "row_offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "rva": {\n "maximum": 4294967295,\n "minimum": 0,\n "type": "integer"\n },\n "signature": {\n "additionalProperties": false,\n "properties": {\n "calling_convention": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "field_type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "generic_parameter_count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "issue": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "kind": {\n "enum": [\n "method",\n "field",\n "unknown"\n ],\n "type": "string"\n },\n "parameter_count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "parameter_types": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "parse_status": {\n "enum": [\n "decoded",\n "partial",\n "unsupported",\n "malformed"\n ],\n "type": "string"\n },\n "raw_length": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "raw_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "return_type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "raw_length",\n "raw_sha256",\n "kind",\n "parse_status",\n "calling_convention",\n "generic_parameter_count",\n "parameter_count",\n "return_type",\n "parameter_types",\n "field_type",\n "issue"\n ],\n "type": "object"\n },\n "token": {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n }\n },\n "required": [\n "token",\n "row_offset",\n "declaring_type_token",\n "declaring_type",\n "name",\n "rva",\n "impl_flags",\n "flags",\n "signature",\n "body"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "module": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "enc_base_id": {\n "anyOf": [\n {\n "pattern": "^[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "enc_id": {\n "anyOf": [\n {\n "pattern": "^[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "generation": {\n "maximum": 65535,\n "minimum": 0,\n "type": "integer"\n },\n "mvid": {\n "anyOf": [\n {\n "pattern": "^[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "type": "string"\n },\n "row_offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "token": {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n }\n },\n "required": [\n "name",\n "generation",\n "mvid",\n "enc_id",\n "enc_base_id",\n "token",\n "row_offset"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "types": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "extends_token": {\n "anyOf": [\n {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "field_list": {\n "additionalProperties": false,\n "properties": {\n "count": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "first_row": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "last_row": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "first_row",\n "last_row",\n "count"\n ],\n "type": "object"\n },\n "flags": {\n "maximum": 4294967295,\n "minimum": 0,\n "type": "integer"\n },\n "full_name": {\n "type": "string"\n },\n "method_list": {\n "additionalProperties": false,\n "properties": {\n "count": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "first_row": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "last_row": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "first_row",\n "last_row",\n "count"\n ],\n "type": "object"\n },\n "name": {\n "type": "string"\n },\n "namespace": {\n "type": "string"\n },\n "row_offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "token": {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n }\n },\n "required": [\n "token",\n "row_offset",\n "namespace",\n "name",\n "full_name",\n "flags",\n "extends_token",\n "field_list",\n "method_list"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "artifact",\n "module",\n "metadata",\n "identity_scope",\n "types",\n "fields",\n "methods",\n "member_refs",\n "call_edges",\n "field_accesses",\n "coverage",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Inspect Managed Members"\n },\n {\n "analysisOperation": "inspect_managed_native_boundaries",\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "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.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {}\n ],\n "properties": {\n "path": {\n "description": "Explicit managed PE/CLI path; omit to reuse the previously selected managed target",\n "minLength": 1,\n "type": "string"\n }\n },\n "type": "object"\n },\n "kind": "managed-provider",\n "name": "inspect_managed_native_boundaries",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "artifact": {\n "additionalProperties": false,\n "properties": {\n "byte_length": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "format": {\n "const": "pe",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "path",\n "sha256",\n "byte_length",\n "format"\n ],\n "type": "object"\n },\n "cli_native": {\n "additionalProperties": false,\n "properties": {\n "il_only": {\n "type": "boolean"\n },\n "managed_native_header_rva": {\n "maximum": 4294967295,\n "minimum": 0,\n "type": "integer"\n },\n "managed_native_header_size": {\n "maximum": 4294967295,\n "minimum": 0,\n "type": "integer"\n },\n "native_entry_point": {\n "type": "boolean"\n },\n "ready_to_run_signature": {\n "type": "boolean"\n },\n "requires_32bit": {\n "type": "boolean"\n },\n "strong_name_signed": {\n "type": "boolean"\n }\n },\n "required": [\n "il_only",\n "requires_32bit",\n "strong_name_signed",\n "native_entry_point",\n "ready_to_run_signature",\n "managed_native_header_rva",\n "managed_native_header_size"\n ],\n "type": "object"\n },\n "coverage": {\n "additionalProperties": false,\n "properties": {\n "issues": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "code": {\n "enum": [\n "invalid-cli-header",\n "invalid-directory",\n "invalid-metadata-root",\n "invalid-stream",\n "missing-stream",\n "invalid-tables",\n "invalid-row",\n "invalid-heap-index",\n "invalid-string",\n "invalid-blob",\n "unsupported-signature",\n "invalid-guid",\n "invalid-resource"\n ],\n "type": "string"\n },\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "offset": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "scope": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "code",\n "scope",\n "offset",\n "detail"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "state": {\n "enum": [\n "complete",\n "partial",\n "unavailable"\n ],\n "type": "string"\n }\n },\n "required": [\n "state",\n "issues"\n ],\n "type": "object"\n },\n "identity_scope": {\n "additionalProperties": false,\n "properties": {\n "requires_artifact_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "requires_mvid": {\n "anyOf": [\n {\n "pattern": "^[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "token_identity": {\n "const": "build-local",\n "type": "string"\n }\n },\n "required": [\n "token_identity",\n "requires_artifact_sha256",\n "requires_mvid"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "metadata": {\n "additionalProperties": false,\n "properties": {\n "status": {\n "enum": [\n "absent",\n "complete",\n "partial",\n "malformed"\n ],\n "type": "string"\n },\n "table_row_counts": {\n "additionalProperties": {\n "maximum": 4294967295,\n "minimum": 0,\n "type": "integer"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "status",\n "version",\n "table_row_counts"\n ],\n "type": "object"\n },\n "module": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "enc_base_id": {\n "anyOf": [\n {\n "pattern": "^[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "enc_id": {\n "anyOf": [\n {\n "pattern": "^[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "generation": {\n "maximum": 65535,\n "minimum": 0,\n "type": "integer"\n },\n "mvid": {\n "anyOf": [\n {\n "pattern": "^[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "type": "string"\n },\n "row_offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "token": {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n }\n },\n "required": [\n "name",\n "generation",\n "mvid",\n "enc_id",\n "enc_base_id",\n "token",\n "row_offset"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "module_refs": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "type": "string"\n },\n "row_offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "token": {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n }\n },\n "required": [\n "token",\n "row_offset",\n "name"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "native_implementations": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "body_interpretation": {\n "enum": [\n "managed-cil",\n "native-or-runtime",\n "not-file-backed",\n "unknown"\n ],\n "type": "string"\n },\n "boundary_kind": {\n "enum": [\n "pinvoke",\n "native-body",\n "runtime-provided",\n "unmanaged-method",\n "mixed-or-unknown"\n ],\n "type": "string"\n },\n "code_type": {\n "enum": [\n "il",\n "native",\n "optil",\n "runtime",\n "unknown"\n ],\n "type": "string"\n },\n "flags": {\n "maximum": 65535,\n "minimum": 0,\n "type": "integer"\n },\n "impl_flags": {\n "maximum": 65535,\n "minimum": 0,\n "type": "integer"\n },\n "managed_kind": {\n "enum": [\n "managed",\n "unmanaged",\n "unknown"\n ],\n "type": "string"\n },\n "name": {\n "type": "string"\n },\n "pinvoke_declared": {\n "type": "boolean"\n },\n "row_offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "rva": {\n "maximum": 4294967295,\n "minimum": 0,\n "type": "integer"\n },\n "token": {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n }\n },\n "required": [\n "token",\n "row_offset",\n "name",\n "rva",\n "flags",\n "impl_flags",\n "code_type",\n "managed_kind",\n "pinvoke_declared",\n "boundary_kind",\n "body_interpretation"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "pinvoke_imports": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "best_fit": {\n "enum": [\n "assembly-default",\n "enabled",\n "disabled",\n "unknown"\n ],\n "type": "string"\n },\n "call_convention": {\n "enum": [\n "not-specified",\n "winapi",\n "cdecl",\n "stdcall",\n "thiscall",\n "fastcall",\n "unknown"\n ],\n "type": "string"\n },\n "char_set": {\n "enum": [\n "not-specified",\n "ansi",\n "unicode",\n "auto",\n "unknown"\n ],\n "type": "string"\n },\n "import_name": {\n "type": "string"\n },\n "import_scope_name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "import_scope_token": {\n "anyOf": [\n {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "mapping_flags": {\n "maximum": 65535,\n "minimum": 0,\n "type": "integer"\n },\n "mapping_flags_hex": {\n "pattern": "^0x[0-9a-f]{4}$",\n "type": "string"\n },\n "member_kind": {\n "enum": [\n "method",\n "field",\n "unknown"\n ],\n "type": "string"\n },\n "member_name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "member_token": {\n "anyOf": [\n {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "no_mangle": {\n "type": "boolean"\n },\n "row_offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "supports_last_error": {\n "type": "boolean"\n },\n "throw_on_unmappable_char": {\n "enum": [\n "assembly-default",\n "enabled",\n "disabled",\n "unknown"\n ],\n "type": "string"\n },\n "token": {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n },\n "verification": {\n "const": "managed-declaration-only",\n "type": "string"\n }\n },\n "required": [\n "token",\n "row_offset",\n "mapping_flags",\n "mapping_flags_hex",\n "member_token",\n "member_kind",\n "member_name",\n "import_name",\n "import_scope_token",\n "import_scope_name",\n "no_mangle",\n "char_set",\n "call_convention",\n "supports_last_error",\n "best_fit",\n "throw_on_unmappable_char",\n "verification"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "summary": {\n "additionalProperties": false,\n "properties": {\n "mixed_mode_or_native_header": {\n "type": "boolean"\n },\n "module_ref_count": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "native_implementation_count": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "pinvoke_import_count": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "ready_to_run": {\n "type": "boolean"\n }\n },\n "required": [\n "module_ref_count",\n "pinvoke_import_count",\n "native_implementation_count",\n "ready_to_run",\n "mixed_mode_or_native_header"\n ],\n "type": "object"\n }\n },\n "required": [\n "artifact",\n "module",\n "metadata",\n "identity_scope",\n "cli_native",\n "module_refs",\n "pinvoke_imports",\n "native_implementations",\n "summary",\n "coverage",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Inspect Managed Native Boundaries"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": true,\n "readOnlyHint": false\n },\n "description": "Inspect a local APK\'s package, SDK and permission declarations, decoded manifest and class/resource counts. Does not execute the APK or verify signatures. Requires a caller-supplied JADX MCP JAR and JDK; uses one worker in an isolated temporary workspace.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": true,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": true\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "path": "/tmp/Example.apk"\n }\n ],\n "properties": {\n "path": {\n "description": "Local APK path; the target is never executed",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "path"\n ],\n "type": "object"\n },\n "kind": "android-provider",\n "name": "inspect_android_package",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "class_count": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "engine": {\n "additionalProperties": false,\n "properties": {\n "artifact_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "heap_limit_mib": {\n "anyOf": [\n {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "source_revision": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "worker_count": {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "version",\n "artifact_sha256",\n "source_revision",\n "worker_count",\n "heap_limit_mib"\n ],\n "type": "object"\n },\n "manifest": {\n "additionalProperties": false,\n "properties": {\n "reported_total_bytes": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "enum": [\n "complete",\n "partial"\n ],\n "type": "string"\n },\n "text": {\n "type": "string"\n }\n },\n "required": [\n "status",\n "text",\n "reported_total_bytes"\n ],\n "type": "object"\n },\n "min_sdk": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "package_name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "permissions": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "resource_count": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "signature_verification": {\n "const": "not_performed",\n "type": "string"\n },\n "target_sdk": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "version_code": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "version_name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "engine",\n "package_name",\n "version_name",\n "version_code",\n "min_sdk",\n "target_sdk",\n "permissions",\n "manifest",\n "class_count",\n "resource_count",\n "signature_verification"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Inspect Android Package"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": true,\n "readOnlyHint": false\n },\n "description": "Search complete decompiler class names in an explicit local APK by case-sensitive substring. Empty query inventories all classes. Retains artifact and engine identity; no APK execution.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": true,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": true\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "path": "/tmp/Example.apk",\n "query": "Activity"\n }\n ],\n "properties": {\n "path": {\n "description": "Local APK path; the target is never executed",\n "minLength": 1,\n "type": "string"\n },\n "query": {\n "description": "Case-sensitive class-name substring; empty lists all classes",\n "type": "string"\n }\n },\n "required": [\n "path",\n "query"\n ],\n "type": "object"\n },\n "kind": "android-provider",\n "name": "search_android_classes",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "coverage": {\n "const": "complete",\n "type": "string"\n },\n "engine": {\n "additionalProperties": false,\n "properties": {\n "artifact_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "heap_limit_mib": {\n "anyOf": [\n {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "source_revision": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "worker_count": {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "version",\n "artifact_sha256",\n "source_revision",\n "worker_count",\n "heap_limit_mib"\n ],\n "type": "object"\n },\n "matches": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "query": {\n "type": "string"\n },\n "total_classes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "engine",\n "query",\n "total_classes",\n "matches",\n "coverage"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Search Android Classes"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": true,\n "readOnlyHint": false\n },\n "description": "Inspect one exact Android class\'s parsed methods, fields and inner classes, including synthetic members. Returns display signatures and explicit unknown DEX descriptors without generating source. Overload indices remain consistent within the artifact and engine session.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": true,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": true\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "class_name": "example.MainActivity",\n "path": "/tmp/Example.apk"\n }\n ],\n "properties": {\n "class_name": {\n "description": "Exact fully qualified class name",\n "minLength": 1,\n "type": "string"\n },\n "path": {\n "description": "Local APK path; the target is never executed",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "path",\n "class_name"\n ],\n "type": "object"\n },\n "kind": "android-provider",\n "name": "inspect_android_class",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "class_name": {\n "type": "string"\n },\n "engine": {\n "additionalProperties": false,\n "properties": {\n "artifact_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "heap_limit_mib": {\n "anyOf": [\n {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "source_revision": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "worker_count": {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "version",\n "artifact_sha256",\n "source_revision",\n "worker_count",\n "heap_limit_mib"\n ],\n "type": "object"\n },\n "fields": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "type": "string"\n },\n "reported_type": {\n "type": "string"\n }\n },\n "required": [\n "name",\n "reported_type"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "inner_classes": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "methods": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "dex_descriptor": {\n "type": "null"\n },\n "is_constructor": {\n "type": "boolean"\n },\n "name": {\n "type": "string"\n },\n "overload_index": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "reported_signature": {\n "type": "string"\n }\n },\n "required": [\n "name",\n "reported_signature",\n "overload_index",\n "is_constructor",\n "dex_descriptor"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "engine",\n "class_name",\n "methods",\n "fields",\n "inner_classes"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Inspect Android Class"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": true,\n "readOnlyHint": false\n },\n "description": "Decompile one Android method with smali fallback. Requires explicit overload_index when multiple methods share a name. Reports representation, fallback markers and source truncation; never treats display signatures as exact DEX identities.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": true,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": true\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "class_name": "example.MainActivity",\n "method_name": "onCreate",\n "path": "/tmp/Example.apk"\n }\n ],\n "properties": {\n "class_name": {\n "description": "Exact fully qualified class name",\n "minLength": 1,\n "type": "string"\n },\n "method_name": {\n "description": "Value for method name.",\n "minLength": 1,\n "type": "string"\n },\n "overload_index": {\n "description": "Explicit index among same-name methods; required when ambiguous",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "description": "Local APK path; the target is never executed",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "path",\n "class_name",\n "method_name"\n ],\n "type": "object"\n },\n "kind": "android-provider",\n "name": "inspect_android_method",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "body_status": {\n "enum": [\n "available",\n "not_available"\n ],\n "type": "string"\n },\n "class_name": {\n "type": "string"\n },\n "engine": {\n "additionalProperties": false,\n "properties": {\n "artifact_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "heap_limit_mib": {\n "anyOf": [\n {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "source_revision": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "worker_count": {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "version",\n "artifact_sha256",\n "source_revision",\n "worker_count",\n "heap_limit_mib"\n ],\n "type": "object"\n },\n "fell_back": {\n "type": "boolean"\n },\n "markers": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "method": {\n "additionalProperties": false,\n "properties": {\n "dex_descriptor": {\n "type": "null"\n },\n "is_constructor": {\n "type": "boolean"\n },\n "name": {\n "type": "string"\n },\n "overload_index": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "reported_signature": {\n "type": "string"\n }\n },\n "required": [\n "name",\n "reported_signature",\n "overload_index",\n "is_constructor",\n "dex_descriptor"\n ],\n "type": "object"\n },\n "overload_count": {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n "representation": {\n "enum": [\n "java",\n "smali"\n ],\n "type": "string"\n },\n "source": {\n "additionalProperties": false,\n "properties": {\n "reported_total_bytes": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "enum": [\n "complete",\n "partial"\n ],\n "type": "string"\n },\n "text": {\n "type": "string"\n }\n },\n "required": [\n "status",\n "text",\n "reported_total_bytes"\n ],\n "type": "object"\n }\n },\n "required": [\n "engine",\n "class_name",\n "method",\n "overload_count",\n "representation",\n "body_status",\n "fell_back",\n "markers",\n "source"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Inspect Android Method"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": true,\n "readOnlyHint": false\n },\n "description": "Trace incoming static references to an exact Android class or unique method. Overloaded method reference queries are explicitly unsupported by the current engine. Source lines and DEX offsets remain unknown; no runtime calls are inferred.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": true,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": true\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "class_name": "example.MainActivity",\n "path": "/tmp/Example.apk"\n }\n ],\n "properties": {\n "class_name": {\n "description": "Exact fully qualified class name",\n "minLength": 1,\n "type": "string"\n },\n "method_name": {\n "description": "Omit for class references; ambiguous overloaded methods are unsupported",\n "minLength": 1,\n "type": "string"\n },\n "path": {\n "description": "Local APK path; the target is never executed",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "path",\n "class_name"\n ],\n "type": "object"\n },\n "kind": "android-provider",\n "name": "trace_android_references",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "class_name": {\n "type": "string"\n },\n "coverage": {\n "const": "complete",\n "type": "string"\n },\n "engine": {\n "additionalProperties": false,\n "properties": {\n "artifact_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "heap_limit_mib": {\n "anyOf": [\n {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "source_revision": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "worker_count": {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "version",\n "artifact_sha256",\n "source_revision",\n "worker_count",\n "heap_limit_mib"\n ],\n "type": "object"\n },\n "method_name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "references": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "containing_class": {\n "type": "string"\n },\n "dex_offset": {\n "type": "null"\n },\n "kind": {\n "type": "string"\n },\n "name": {\n "type": "string"\n },\n "reported_full_name": {\n "type": "string"\n },\n "source_line": {\n "type": "null"\n },\n "top_class": {\n "type": "string"\n }\n },\n "required": [\n "kind",\n "name",\n "reported_full_name",\n "containing_class",\n "top_class",\n "source_line",\n "dex_offset"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "total": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "engine",\n "class_name",\n "method_name",\n "total",\n "references",\n "coverage"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Trace Android References"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": true,\n "readOnlyHint": false\n },\n "description": "Inspect signature candidates in a local firmware file with Binwalk 3.1.x (verified with 3.1.0). Returns offsets, reported lengths, descriptions and raw confidence values. Length validation and runtime addresses remain unknown. No extraction or target execution. Linux, caller-supplied tool and util-linux prlimit required; 128 MiB input limit, one worker and 120-second deadline.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": true,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": true\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "path": "/tmp/firmware.bin"\n }\n ],\n "properties": {\n "path": {\n "description": "Local firmware file; never executed",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "path"\n ],\n "type": "object"\n },\n "kind": "firmware-provider",\n "name": "inspect_firmware_regions",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "coverage": {\n "const": "signature_scan",\n "type": "string"\n },\n "engine": {\n "additionalProperties": false,\n "properties": {\n "executable_path": {\n "type": "string"\n },\n "executable_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "name": {\n "type": "string"\n },\n "source_revision": {\n "type": "null"\n },\n "version": {\n "type": "string"\n },\n "worker_count": {\n "const": 1,\n "type": "number"\n }\n },\n "required": [\n "name",\n "version",\n "executable_path",\n "executable_sha256",\n "source_revision",\n "worker_count"\n ],\n "type": "object"\n },\n "input_size": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "regions": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "description": {\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "provider_id": {\n "type": "string"\n },\n "reported_confidence": {\n "maximum": 255,\n "minimum": 0,\n "type": "integer"\n },\n "reported_size": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "signature": {\n "type": "string"\n },\n "size_basis": {\n "const": "provider_reported_validation_unknown",\n "type": "string"\n }\n },\n "required": [\n "provider_id",\n "offset",\n "reported_size",\n "signature",\n "description",\n "reported_confidence",\n "size_basis"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "engine",\n "input_size",\n "regions",\n "coverage"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Inspect Firmware Regions"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": false,\n "openWorldHint": true,\n "readOnlyHint": false\n },\n "description": "Extract caller-selected firmware bytes with Unblob 26.6.x (verified with 26.6.4) into an absent output directory. Returns verified child paths/digests, task derivations, unknown chunks and extraction diagnostics inline. Preserves the default sandbox; publishes regular files only. Linux, caller-supplied tool, format-specific extractors and util-linux prlimit required. No mounts or extracted-code execution. Select a returned native file with open_binary for Ghidra analysis; decompressed offsets are not original-file addresses.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": false,\n "launchesProcess": true,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": true\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "output_directory": "/tmp/firmware-output",\n "path": "/tmp/firmware.bin",\n "range": {\n "length": 4096,\n "offset": 64\n }\n }\n ],\n "properties": {\n "max_depth": {\n "default": 3,\n "description": "Extraction depth; reaching it yields partial analysis",\n "maximum": 10,\n "minimum": 1,\n "type": "integer"\n },\n "max_output_bytes": {\n "default": 268435456,\n "description": "Staging file-byte budget, checked during extraction; transient overshoot is possible",\n "maximum": 536870912,\n "minimum": 1,\n "type": "integer"\n },\n "max_output_files": {\n "default": 10000,\n "description": "Staging entry budget, including directories and links",\n "maximum": 100000,\n "minimum": 1,\n "type": "integer"\n },\n "output_directory": {\n "description": "Absolute, absent output directory; parent must exist",\n "minLength": 1,\n "type": "string"\n },\n "path": {\n "description": "Local firmware file; never executed",\n "minLength": 1,\n "type": "string"\n },\n "range": {\n "additionalProperties": false,\n "description": "Explicit file-byte interval; omit to extract the whole file",\n "properties": {\n "length": {\n "description": "Value for length.",\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n "offset": {\n "description": "Value for offset.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "offset",\n "length"\n ],\n "type": "object"\n }\n },\n "required": [\n "path",\n "output_directory"\n ],\n "type": "object"\n },\n "kind": "firmware-provider",\n "name": "extract_firmware",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "chunks": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "encrypted": {\n "anyOf": [\n {\n "type": "boolean"\n },\n {\n "type": "null"\n }\n ]\n },\n "handler": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "input_path": {\n "type": "string"\n },\n "provider_id": {\n "type": "string"\n },\n "range": {\n "additionalProperties": false,\n "properties": {\n "length": {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "offset",\n "length"\n ],\n "type": "object"\n },\n "root_file_range": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "length": {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "offset",\n "length"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "input_path",\n "provider_id",\n "range",\n "handler",\n "encrypted",\n "root_file_range"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "coverage": {\n "enum": [\n "complete",\n "partial"\n ],\n "type": "string"\n },\n "depth_limited_paths": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "derivations": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "child_path": {\n "type": "string"\n },\n "handler": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "parent_file_range": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "length": {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "offset",\n "length"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "parent_path": {\n "type": "string"\n },\n "provider_blob_id": {\n "type": "string"\n }\n },\n "required": [\n "parent_path",\n "child_path",\n "provider_blob_id",\n "handler",\n "parent_file_range"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "diagnostics": {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n "engine": {\n "additionalProperties": false,\n "properties": {\n "executable_path": {\n "type": "string"\n },\n "executable_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "name": {\n "type": "string"\n },\n "source_revision": {\n "type": "null"\n },\n "version": {\n "type": "string"\n },\n "worker_count": {\n "const": 1,\n "type": "number"\n }\n },\n "required": [\n "name",\n "version",\n "executable_path",\n "executable_sha256",\n "source_revision",\n "worker_count"\n ],\n "type": "object"\n },\n "files": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "analysis_depth": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "mime_type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "original_file_range": {\n "type": "null"\n },\n "path": {\n "type": "string"\n },\n "relative_path": {\n "type": "string"\n },\n "reported_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "runtime_address": {\n "type": "null"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "size": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "relative_path",\n "path",\n "size",\n "sha256",\n "reported_sha256",\n "mime_type",\n "analysis_depth",\n "runtime_address",\n "original_file_range"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "output_directory": {\n "type": "string"\n },\n "published_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "selection": {\n "additionalProperties": false,\n "properties": {\n "length": {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "offset",\n "length",\n "sha256"\n ],\n "type": "object"\n },\n "unpublished_entries": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "enum": [\n "symlink",\n "special"\n ],\n "type": "string"\n },\n "link_target": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "relative_path": {\n "type": "string"\n }\n },\n "required": [\n "relative_path",\n "kind",\n "link_target"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "engine",\n "selection",\n "output_directory",\n "coverage",\n "files",\n "unpublished_entries",\n "chunks",\n "derivations",\n "depth_limited_paths",\n "diagnostics",\n "published_bytes"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Extract Firmware"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Compare two authenticated inspect_managed_members Evidence records using unique-only decoded-CIL/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 tuple digest does not itself remap them.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "left": {\n "authority": "shipped-artifact",\n "confidence": "observed",\n "environment": null,\n "evidence_id": "ev_b3525a33f9aecdcfeac8372301c13cb9153b189d93ef337eee0fef9425171ce3",\n "evidence_links": [],\n "limitations": [\n "Artifact identity is unavailable for this observation."\n ],\n "locations": [],\n "normalized_result": {\n "artifact": {\n "byte_length": 4096,\n "format": "pe",\n "path": "/examples/00000000.dll",\n "sha256": "0000000000000000000000000000000000000000000000000000000000000000"\n },\n "call_edges": [],\n "coverage": {\n "issues": [],\n "state": "complete"\n },\n "field_accesses": [],\n "fields": [],\n "identity_scope": {\n "requires_artifact_sha256": "0000000000000000000000000000000000000000000000000000000000000000",\n "requires_mvid": "00112233-4455-6677-8899-aabbccddeeff",\n "token_identity": "build-local"\n },\n "limitations": [],\n "member_refs": [],\n "metadata": {\n "status": "complete",\n "table_row_counts": {},\n "version": "v4.0.30319"\n },\n "methods": [],\n "module": {\n "enc_base_id": null,\n "enc_id": null,\n "generation": 0,\n "mvid": "00112233-4455-6677-8899-aabbccddeeff",\n "name": "Example.dll",\n "row_offset": 0,\n "token": "0x00000001"\n },\n "types": []\n },\n "operation": "inspect_managed_members",\n "parameters": {},\n "predicate_type": "rea.analysis",\n "provider": {\n "id": "rea-dotnet-static",\n "name": "REA managed static analysis provider",\n "version": "1"\n },\n "raw_result": null,\n "subject": null\n },\n "right": {\n "authority": "shipped-artifact",\n "confidence": "observed",\n "environment": null,\n "evidence_id": "ev_8f79f99bceb5bf3d5e5af7fd678ac07b67427756eca0784cd56ffa6b9c4dbda4",\n "evidence_links": [],\n "limitations": [\n "Artifact identity is unavailable for this observation."\n ],\n "locations": [],\n "normalized_result": {\n "artifact": {\n "byte_length": 4096,\n "format": "pe",\n "path": "/examples/11111111.dll",\n "sha256": "1111111111111111111111111111111111111111111111111111111111111111"\n },\n "call_edges": [],\n "coverage": {\n "issues": [],\n "state": "complete"\n },\n "field_accesses": [],\n "fields": [],\n "identity_scope": {\n "requires_artifact_sha256": "1111111111111111111111111111111111111111111111111111111111111111",\n "requires_mvid": "ffeeddcc-bbaa-4988-9766-554433221100",\n "token_identity": "build-local"\n },\n "limitations": [],\n "member_refs": [],\n "metadata": {\n "status": "complete",\n "table_row_counts": {},\n "version": "v4.0.30319"\n },\n "methods": [],\n "module": {\n "enc_base_id": null,\n "enc_id": null,\n "generation": 0,\n "mvid": "ffeeddcc-bbaa-4988-9766-554433221100",\n "name": "Example.dll",\n "row_offset": 0,\n "token": "0x00000001"\n },\n "types": []\n },\n "operation": "inspect_managed_members",\n "parameters": {},\n "predicate_type": "rea.analysis",\n "provider": {\n "id": "rea-dotnet-static",\n "name": "REA managed static analysis provider",\n "version": "1"\n },\n "raw_result": null,\n "subject": null\n }\n }\n ],\n "properties": {\n "left": {\n "additionalProperties": false,\n "description": "Left-hand input used for comparison or differential execution.",\n "properties": {\n "analysis_profile": {\n "description": "Value for analysis profile.",\n "properties": {\n "digest": {\n "description": "Value for digest.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "description": "Value for version.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "description": "Value for authority.",\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "description": "Value for confidence.",\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "description": "Value for architecture.",\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "description": "Value for isolation.",\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "description": "Value for platform.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for environment."\n },\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "description": "Value for evidence links.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "description": "Value for locations.",\n "items": {\n "oneOf": [\n {\n "properties": {\n "address": {\n "description": "Value for address.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "artifact-path",\n "description": "Value for kind.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "file-offset",\n "description": "Value for kind.",\n "type": "string"\n },\n "offset": {\n "description": "Value for offset.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0",\n "description": "Value for normalized result."\n },\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "description": "Value for predicate type.",\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for version."\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for raw result."\n },\n "subject": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "digest": {\n "description": "Value for digest.",\n "properties": {\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "description": "Declared input artifact format.",\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "description": "Local filesystem path for local.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for subject."\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "right": {\n "additionalProperties": false,\n "description": "Right-hand input used for comparison or differential execution.",\n "properties": {\n "analysis_profile": {\n "description": "Value for analysis profile.",\n "properties": {\n "digest": {\n "description": "Value for digest.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "description": "Value for version.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "description": "Value for authority.",\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "description": "Value for confidence.",\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "description": "Value for architecture.",\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "description": "Value for isolation.",\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "description": "Value for platform.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for environment."\n },\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "description": "Value for evidence links.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "description": "Value for locations.",\n "items": {\n "oneOf": [\n {\n "properties": {\n "address": {\n "description": "Value for address.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "artifact-path",\n "description": "Value for kind.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "file-offset",\n "description": "Value for kind.",\n "type": "string"\n },\n "offset": {\n "description": "Value for offset.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0",\n "description": "Value for normalized result."\n },\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "description": "Value for predicate type.",\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for version."\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for raw result."\n },\n "subject": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "digest": {\n "description": "Value for digest.",\n "properties": {\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "description": "Declared input artifact format.",\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "description": "Local filesystem path for local.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for subject."\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n }\n },\n "required": [\n "left",\n "right"\n ],\n "type": "object"\n },\n "kind": "application",\n "name": "compare_managed_members",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "algorithm": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "const": "rea-managed-member-comparison",\n "type": "string"\n },\n "name_matching": {\n "const": "exact-signature-fallback",\n "type": "string"\n },\n "token_identity": {\n "const": "build-local",\n "type": "string"\n }\n },\n "required": [\n "name",\n "token_identity",\n "name_matching"\n ],\n "type": "object"\n },\n "comparison_id": {\n "pattern": "^mmc_[a-f0-9]{64}$",\n "type": "string"\n },\n "coverage": {\n "additionalProperties": false,\n "properties": {\n "left_status": {\n "enum": [\n "complete",\n "partial",\n "unavailable"\n ],\n "type": "string"\n },\n "right_status": {\n "enum": [\n "complete",\n "partial",\n "unavailable"\n ],\n "type": "string"\n },\n "status": {\n "enum": [\n "complete-within-inputs",\n "partial"\n ],\n "type": "string"\n }\n },\n "required": [\n "status",\n "left_status",\n "right_status"\n ],\n "type": "object"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "maxItems": 2,\n "minItems": 2,\n "type": "array"\n },\n "fields": {\n "items": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "maxItems": 2,\n "minItems": 2,\n "type": "array"\n },\n "item_id": {\n "pattern": "^mmc_field_[a-f0-9]{64}$",\n "type": "string"\n },\n "left": {\n "additionalProperties": false,\n "properties": {\n "declaring_type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "type": "string"\n },\n "signature_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "token": {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n }\n },\n "required": [\n "token",\n "declaring_type",\n "name",\n "signature_sha256"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "match": {\n "additionalProperties": false,\n "properties": {\n "basis": {\n "enum": [\n "exact-il-signature",\n "exact-signature",\n "structural-method-shape",\n "field-signature"\n ],\n "type": "string"\n },\n "candidate_left_tokens": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "candidate_right_tokens": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "confidence": {\n "enum": [\n "exact",\n "high"\n ],\n "type": "string"\n },\n "status": {\n "const": "matched",\n "type": "string"\n }\n },\n "required": [\n "status",\n "basis",\n "confidence",\n "candidate_left_tokens",\n "candidate_right_tokens"\n ],\n "type": "object"\n },\n "right": {\n "additionalProperties": false,\n "properties": {\n "declaring_type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "type": "string"\n },\n "signature_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "token": {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n }\n },\n "required": [\n "token",\n "declaring_type",\n "name",\n "signature_sha256"\n ],\n "type": "object"\n },\n "status": {\n "enum": [\n "unchanged",\n "changed",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "evidence_links",\n "limitations",\n "item_id",\n "status",\n "left",\n "right",\n "match"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "maxItems": 2,\n "minItems": 2,\n "type": "array"\n },\n "item_id": {\n "pattern": "^mmc_field_[a-f0-9]{64}$",\n "type": "string"\n },\n "left": {\n "additionalProperties": false,\n "properties": {\n "declaring_type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "type": "string"\n },\n "signature_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "token": {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n }\n },\n "required": [\n "token",\n "declaring_type",\n "name",\n "signature_sha256"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "match": {\n "additionalProperties": false,\n "properties": {\n "basis": {\n "const": "none",\n "type": "string"\n },\n "candidate_left_tokens": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "candidate_right_tokens": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "confidence": {\n "const": "unknown",\n "type": "string"\n },\n "status": {\n "const": "unmatched",\n "type": "string"\n }\n },\n "required": [\n "status",\n "basis",\n "confidence",\n "candidate_left_tokens",\n "candidate_right_tokens"\n ],\n "type": "object"\n },\n "right": {\n "type": "null"\n },\n "status": {\n "enum": [\n "removed",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "evidence_links",\n "limitations",\n "item_id",\n "status",\n "left",\n "right",\n "match"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "maxItems": 2,\n "minItems": 2,\n "type": "array"\n },\n "item_id": {\n "pattern": "^mmc_field_[a-f0-9]{64}$",\n "type": "string"\n },\n "left": {\n "type": "null"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "match": {\n "additionalProperties": false,\n "properties": {\n "basis": {\n "const": "none",\n "type": "string"\n },\n "candidate_left_tokens": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "candidate_right_tokens": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "confidence": {\n "const": "unknown",\n "type": "string"\n },\n "status": {\n "const": "unmatched",\n "type": "string"\n }\n },\n "required": [\n "status",\n "basis",\n "confidence",\n "candidate_left_tokens",\n "candidate_right_tokens"\n ],\n "type": "object"\n },\n "right": {\n "additionalProperties": false,\n "properties": {\n "declaring_type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "type": "string"\n },\n "signature_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "token": {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n }\n },\n "required": [\n "token",\n "declaring_type",\n "name",\n "signature_sha256"\n ],\n "type": "object"\n },\n "status": {\n "enum": [\n "added",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "evidence_links",\n "limitations",\n "item_id",\n "status",\n "left",\n "right",\n "match"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "maxItems": 2,\n "minItems": 2,\n "type": "array"\n },\n "item_id": {\n "pattern": "^mmc_field_[a-f0-9]{64}$",\n "type": "string"\n },\n "left": {\n "type": "null"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "match": {\n "additionalProperties": false,\n "properties": {\n "basis": {\n "enum": [\n "exact-il-signature",\n "exact-signature",\n "structural-method-shape",\n "field-signature"\n ],\n "type": "string"\n },\n "candidate_left_tokens": {\n "items": {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "candidate_right_tokens": {\n "items": {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "confidence": {\n "const": "unknown",\n "type": "string"\n },\n "status": {\n "const": "ambiguous",\n "type": "string"\n }\n },\n "required": [\n "status",\n "basis",\n "confidence",\n "candidate_left_tokens",\n "candidate_right_tokens"\n ],\n "type": "object"\n },\n "right": {\n "type": "null"\n },\n "status": {\n "const": "unknown",\n "type": "string"\n }\n },\n "required": [\n "evidence_links",\n "limitations",\n "item_id",\n "status",\n "left",\n "right",\n "match"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "left": {\n "additionalProperties": false,\n "properties": {\n "artifact_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "fields_total": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "metadata_status": {\n "enum": [\n "absent",\n "complete",\n "partial",\n "malformed"\n ],\n "type": "string"\n },\n "methods_total": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "module_name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "mvid": {\n "anyOf": [\n {\n "pattern": "^[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "artifact_sha256",\n "mvid",\n "module_name",\n "metadata_status",\n "methods_total",\n "fields_total"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "matching": {\n "additionalProperties": false,\n "properties": {\n "ambiguous": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "exact_il_signature": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "exact_signature": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "field_signature": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "structural_method_shape": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "unmatched": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "exact_il_signature",\n "exact_signature",\n "structural_method_shape",\n "field_signature",\n "ambiguous",\n "unmatched"\n ],\n "type": "object"\n },\n "methods": {\n "items": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "dimensions": {\n "items": {\n "enum": [\n "metadata",\n "signature",\n "cil",\n "opcode-shape",\n "call-shape",\n "field-shape",\n "exception-shape",\n "availability",\n "body-coverage"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "maxItems": 2,\n "minItems": 2,\n "type": "array"\n },\n "item_id": {\n "pattern": "^mmc_method_[a-f0-9]{64}$",\n "type": "string"\n },\n "left": {\n "additionalProperties": false,\n "properties": {\n "declaring_type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "type": "string"\n },\n "normalized_il_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "signature_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "token": {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n }\n },\n "required": [\n "token",\n "declaring_type",\n "name",\n "signature_sha256",\n "normalized_il_sha256"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "match": {\n "additionalProperties": false,\n "properties": {\n "basis": {\n "enum": [\n "exact-il-signature",\n "exact-signature",\n "structural-method-shape",\n "field-signature"\n ],\n "type": "string"\n },\n "candidate_left_tokens": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "candidate_right_tokens": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "confidence": {\n "enum": [\n "exact",\n "high"\n ],\n "type": "string"\n },\n "status": {\n "const": "matched",\n "type": "string"\n }\n },\n "required": [\n "status",\n "basis",\n "confidence",\n "candidate_left_tokens",\n "candidate_right_tokens"\n ],\n "type": "object"\n },\n "right": {\n "additionalProperties": false,\n "properties": {\n "declaring_type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "type": "string"\n },\n "normalized_il_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "signature_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "token": {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n }\n },\n "required": [\n "token",\n "declaring_type",\n "name",\n "signature_sha256",\n "normalized_il_sha256"\n ],\n "type": "object"\n },\n "status": {\n "enum": [\n "unchanged",\n "changed",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "evidence_links",\n "limitations",\n "item_id",\n "dimensions",\n "status",\n "left",\n "right",\n "match"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "dimensions": {\n "items": {\n "enum": [\n "metadata",\n "signature",\n "cil",\n "opcode-shape",\n "call-shape",\n "field-shape",\n "exception-shape",\n "availability",\n "body-coverage"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "maxItems": 2,\n "minItems": 2,\n "type": "array"\n },\n "item_id": {\n "pattern": "^mmc_method_[a-f0-9]{64}$",\n "type": "string"\n },\n "left": {\n "additionalProperties": false,\n "properties": {\n "declaring_type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "type": "string"\n },\n "normalized_il_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "signature_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "token": {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n }\n },\n "required": [\n "token",\n "declaring_type",\n "name",\n "signature_sha256",\n "normalized_il_sha256"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "match": {\n "additionalProperties": false,\n "properties": {\n "basis": {\n "const": "none",\n "type": "string"\n },\n "candidate_left_tokens": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "candidate_right_tokens": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "confidence": {\n "const": "unknown",\n "type": "string"\n },\n "status": {\n "const": "unmatched",\n "type": "string"\n }\n },\n "required": [\n "status",\n "basis",\n "confidence",\n "candidate_left_tokens",\n "candidate_right_tokens"\n ],\n "type": "object"\n },\n "right": {\n "type": "null"\n },\n "status": {\n "enum": [\n "removed",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "evidence_links",\n "limitations",\n "item_id",\n "dimensions",\n "status",\n "left",\n "right",\n "match"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "dimensions": {\n "items": {\n "enum": [\n "metadata",\n "signature",\n "cil",\n "opcode-shape",\n "call-shape",\n "field-shape",\n "exception-shape",\n "availability",\n "body-coverage"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "maxItems": 2,\n "minItems": 2,\n "type": "array"\n },\n "item_id": {\n "pattern": "^mmc_method_[a-f0-9]{64}$",\n "type": "string"\n },\n "left": {\n "type": "null"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "match": {\n "additionalProperties": false,\n "properties": {\n "basis": {\n "const": "none",\n "type": "string"\n },\n "candidate_left_tokens": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "candidate_right_tokens": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "confidence": {\n "const": "unknown",\n "type": "string"\n },\n "status": {\n "const": "unmatched",\n "type": "string"\n }\n },\n "required": [\n "status",\n "basis",\n "confidence",\n "candidate_left_tokens",\n "candidate_right_tokens"\n ],\n "type": "object"\n },\n "right": {\n "additionalProperties": false,\n "properties": {\n "declaring_type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "type": "string"\n },\n "normalized_il_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "signature_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "token": {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n }\n },\n "required": [\n "token",\n "declaring_type",\n "name",\n "signature_sha256",\n "normalized_il_sha256"\n ],\n "type": "object"\n },\n "status": {\n "enum": [\n "added",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "evidence_links",\n "limitations",\n "item_id",\n "dimensions",\n "status",\n "left",\n "right",\n "match"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "dimensions": {\n "items": {\n "enum": [\n "metadata",\n "signature",\n "cil",\n "opcode-shape",\n "call-shape",\n "field-shape",\n "exception-shape",\n "availability",\n "body-coverage"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "maxItems": 2,\n "minItems": 2,\n "type": "array"\n },\n "item_id": {\n "pattern": "^mmc_method_[a-f0-9]{64}$",\n "type": "string"\n },\n "left": {\n "type": "null"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "match": {\n "additionalProperties": false,\n "properties": {\n "basis": {\n "enum": [\n "exact-il-signature",\n "exact-signature",\n "structural-method-shape",\n "field-signature"\n ],\n "type": "string"\n },\n "candidate_left_tokens": {\n "items": {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "candidate_right_tokens": {\n "items": {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "confidence": {\n "const": "unknown",\n "type": "string"\n },\n "status": {\n "const": "ambiguous",\n "type": "string"\n }\n },\n "required": [\n "status",\n "basis",\n "confidence",\n "candidate_left_tokens",\n "candidate_right_tokens"\n ],\n "type": "object"\n },\n "right": {\n "type": "null"\n },\n "status": {\n "const": "unknown",\n "type": "string"\n }\n },\n "required": [\n "evidence_links",\n "limitations",\n "item_id",\n "dimensions",\n "status",\n "left",\n "right",\n "match"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "right": {\n "additionalProperties": false,\n "properties": {\n "artifact_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "fields_total": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "metadata_status": {\n "enum": [\n "absent",\n "complete",\n "partial",\n "malformed"\n ],\n "type": "string"\n },\n "methods_total": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "module_name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "mvid": {\n "anyOf": [\n {\n "pattern": "^[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "artifact_sha256",\n "mvid",\n "module_name",\n "metadata_status",\n "methods_total",\n "fields_total"\n ],\n "type": "object"\n },\n "summary": {\n "additionalProperties": false,\n "properties": {\n "added": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "changed": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "removed": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "unchanged": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "unknown": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "unchanged",\n "changed",\n "added",\n "removed",\n "unknown"\n ],\n "type": "object"\n }\n },\n "required": [\n "comparison_id",\n "algorithm",\n "left",\n "right",\n "summary",\n "matching",\n "methods",\n "fields",\n "coverage",\n "evidence_links",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": true,\n "title": "Compare Managed Members"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "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.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "managed_boundaries": {\n "authority": "shipped-artifact",\n "confidence": "observed",\n "environment": null,\n "evidence_id": "ev_0b4af8f787323ba7fb52a35b1c21115b2c53d55d61ff9de4a16b006b818a2ba2",\n "evidence_links": [],\n "limitations": [\n "Artifact identity is unavailable for this observation."\n ],\n "locations": [],\n "normalized_result": {\n "artifact": {\n "byte_length": 8192,\n "format": "pe",\n "path": "/examples/ManagedInterop.exe",\n "sha256": "6666666666666666666666666666666666666666666666666666666666666666"\n },\n "cli_native": {\n "il_only": true,\n "managed_native_header_rva": 0,\n "managed_native_header_size": 0,\n "native_entry_point": false,\n "ready_to_run_signature": false,\n "requires_32bit": false,\n "strong_name_signed": false\n },\n "coverage": {\n "issues": [],\n "state": "complete"\n },\n "identity_scope": {\n "requires_artifact_sha256": "6666666666666666666666666666666666666666666666666666666666666666",\n "requires_mvid": "00112233-4455-4677-8899-aabbccddeeff",\n "token_identity": "build-local"\n },\n "limitations": [],\n "metadata": {\n "status": "complete",\n "table_row_counts": {},\n "version": "v4.0.30319"\n },\n "module": {\n "enc_base_id": null,\n "enc_id": null,\n "generation": 0,\n "mvid": "00112233-4455-4677-8899-aabbccddeeff",\n "name": "ManagedInterop.exe",\n "row_offset": 0,\n "token": "0x00000001"\n },\n "module_refs": [\n {\n "name": "nativehelper.dll",\n "row_offset": 256,\n "token": "0x1a000001"\n }\n ],\n "native_implementations": [],\n "pinvoke_imports": [\n {\n "best_fit": "assembly-default",\n "call_convention": "cdecl",\n "char_set": "not-specified",\n "import_name": "open_native",\n "import_scope_name": "nativehelper.dll",\n "import_scope_token": "0x1a000001",\n "mapping_flags": 0,\n "mapping_flags_hex": "0x0000",\n "member_kind": "method",\n "member_name": "OpenNative",\n "member_token": "0x06000001",\n "no_mangle": true,\n "row_offset": 288,\n "supports_last_error": false,\n "throw_on_unmappable_char": "assembly-default",\n "token": "0x1c000001",\n "verification": "managed-declaration-only"\n }\n ],\n "summary": {\n "mixed_mode_or_native_header": false,\n "module_ref_count": 1,\n "native_implementation_count": 0,\n "pinvoke_import_count": 1,\n "ready_to_run": false\n }\n },\n "operation": "inspect_managed_native_boundaries",\n "parameters": {},\n "predicate_type": "rea.analysis",\n "provider": {\n "id": "rea-dotnet-static",\n "name": "REA managed static analysis provider",\n "version": "1"\n },\n "raw_result": null,\n "subject": null\n },\n "native_observations": [\n {\n "authority": "shipped-artifact",\n "confidence": "observed",\n "environment": null,\n "evidence_id": "ev_9ec8ff855a81995540b10a08acf864e2003b588f92dd88cd2b796e3ad288fdc9",\n "evidence_links": [],\n "limitations": [],\n "locations": [],\n "normalized_result": {\n "architectures": {\n "exhaustive": true,\n "items": [],\n "limitations": [],\n "total": 0\n },\n "build_metadata": {\n "exhaustive": true,\n "items": [],\n "limitations": [],\n "total": 0\n },\n "dependencies": {\n "exhaustive": true,\n "items": [],\n "limitations": [],\n "total": 0\n },\n "endian": "little",\n "entrypoints": {\n "exhaustive": true,\n "items": [],\n "limitations": [],\n "total": 0\n },\n "exports": {\n "exhaustive": true,\n "items": [\n {\n "address": "0x1000",\n "name": "open_native",\n "reexport": false,\n "source": "nm",\n "weak": false\n }\n ],\n "limitations": [],\n "total": 1\n },\n "file_type": "dylib",\n "flags": [],\n "format": "mach-o",\n "imports": {\n "exhaustive": true,\n "items": [],\n "limitations": [],\n "total": 0\n },\n "limitations": [],\n "load_commands": {\n "exhaustive": true,\n "items": [],\n "limitations": [],\n "total": 0\n },\n "provenance": [],\n "segments": {\n "exhaustive": true,\n "items": [],\n "limitations": [],\n "total": 0\n },\n "uuid": null,\n "word_size": 64\n },\n "operation": "inspect_macho",\n "parameters": {},\n "predicate_type": "rea.analysis",\n "provider": {\n "id": "native-macos",\n "name": "REA native macOS provider",\n "version": "1"\n },\n "raw_result": null,\n "subject": {\n "architecture": "x86_64",\n "digest": {\n "sha256": "7777777777777777777777777777777777777777777777777777777777777777"\n },\n "format": "mach-o",\n "local_path": "/examples/nativehelper.dll",\n "name": "nativehelper.dll"\n }\n }\n ]\n }\n ],\n "properties": {\n "managed_boundaries": {\n "additionalProperties": false,\n "description": "Value for managed boundaries.",\n "properties": {\n "analysis_profile": {\n "description": "Value for analysis profile.",\n "properties": {\n "digest": {\n "description": "Value for digest.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "description": "Value for version.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "description": "Value for authority.",\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "description": "Value for confidence.",\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "description": "Value for architecture.",\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "description": "Value for isolation.",\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "description": "Value for platform.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for environment."\n },\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "description": "Value for evidence links.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "description": "Value for locations.",\n "items": {\n "oneOf": [\n {\n "properties": {\n "address": {\n "description": "Value for address.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "artifact-path",\n "description": "Value for kind.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "file-offset",\n "description": "Value for kind.",\n "type": "string"\n },\n "offset": {\n "description": "Value for offset.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0",\n "description": "Value for normalized result."\n },\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "description": "Value for predicate type.",\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for version."\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for raw result."\n },\n "subject": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "digest": {\n "description": "Value for digest.",\n "properties": {\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "description": "Declared input artifact format.",\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "description": "Local filesystem path for local.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for subject."\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "native_observations": {\n "description": "Native function or export Evidence records",\n "items": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "description": "Value for analysis profile.",\n "properties": {\n "digest": {\n "description": "Value for digest.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "description": "Value for version.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "description": "Value for authority.",\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "description": "Value for confidence.",\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "description": "Value for architecture.",\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "description": "Value for isolation.",\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "description": "Value for platform.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for environment."\n },\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "description": "Value for evidence links.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "description": "Value for locations.",\n "items": {\n "oneOf": [\n {\n "properties": {\n "address": {\n "description": "Value for address.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "artifact-path",\n "description": "Value for kind.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "file-offset",\n "description": "Value for kind.",\n "type": "string"\n },\n "offset": {\n "description": "Value for offset.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0",\n "description": "Value for normalized result."\n },\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "description": "Value for predicate type.",\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for version."\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for raw result."\n },\n "subject": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "digest": {\n "description": "Value for digest.",\n "properties": {\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "description": "Declared input artifact format.",\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "description": "Local filesystem path for local.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for subject."\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "managed_boundaries",\n "native_observations"\n ],\n "type": "object"\n },\n "kind": "application",\n "name": "verify_managed_native_boundaries",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "algorithm": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "const": "rea-managed-native-verification",\n "type": "string"\n },\n "token_identity": {\n "const": "build-local",\n "type": "string"\n },\n "token_to_address_mapping": {\n "const": "not-inferred",\n "type": "string"\n }\n },\n "required": [\n "name",\n "token_identity",\n "token_to_address_mapping"\n ],\n "type": "object"\n },\n "coverage": {\n "additionalProperties": false,\n "properties": {\n "status": {\n "enum": [\n "complete-within-inputs",\n "partial"\n ],\n "type": "string"\n }\n },\n "required": [\n "status"\n ],\n "type": "object"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 2,\n "type": "array"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "managed_boundary": {\n "additionalProperties": false,\n "properties": {\n "artifact_path": {\n "minLength": 1,\n "type": "string"\n },\n "artifact_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "coverage_state": {\n "enum": [\n "complete",\n "partial",\n "unavailable"\n ],\n "type": "string"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "metadata_status": {\n "enum": [\n "absent",\n "complete",\n "partial",\n "malformed"\n ],\n "type": "string"\n },\n "mvid": {\n "anyOf": [\n {\n "pattern": "^[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "native_implementations_total": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "pinvoke_imports_total": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "evidence_id",\n "artifact_sha256",\n "artifact_path",\n "mvid",\n "metadata_status",\n "pinvoke_imports_total",\n "native_implementations_total",\n "coverage_state"\n ],\n "type": "object"\n },\n "native_implementations": {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "minLength": 1,\n "type": "string"\n },\n "unresolved": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "unresolved",\n "reason"\n ],\n "type": "object"\n },\n "native_observations": {\n "additionalProperties": false,\n "properties": {\n "accepted": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "symbols": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "total": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "unsupported": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "total",\n "accepted",\n "unsupported",\n "symbols"\n ],\n "type": "object"\n },\n "pinvoke_imports": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "basis": {\n "enum": [\n "exact-export-name",\n "exact-function-name"\n ],\n "type": "string"\n },\n "candidates": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "module_name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "module_path": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "source": {\n "enum": [\n "macho-export",\n "function-dossier"\n ],\n "type": "string"\n }\n },\n "required": [\n "evidence_id",\n "operation",\n "name",\n "address",\n "module_name",\n "module_path",\n "source"\n ],\n "type": "object"\n },\n "prefixItems": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "module_name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "module_path": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "source": {\n "enum": [\n "macho-export",\n "function-dossier"\n ],\n "type": "string"\n }\n },\n "required": [\n "evidence_id",\n "operation",\n "name",\n "address",\n "module_name",\n "module_path",\n "source"\n ],\n "type": "object"\n }\n ],\n "type": "array"\n },\n "confidence": {\n "const": "observed",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "item_id": {\n "pattern": "^mnv_pinvoke_[a-f0-9]{64}$",\n "type": "string"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "managed": {\n "additionalProperties": false,\n "properties": {\n "call_convention": {\n "enum": [\n "not-specified",\n "winapi",\n "cdecl",\n "stdcall",\n "thiscall",\n "fastcall",\n "unknown"\n ],\n "type": "string"\n },\n "char_set": {\n "enum": [\n "not-specified",\n "ansi",\n "unicode",\n "auto",\n "unknown"\n ],\n "type": "string"\n },\n "declaration_verification": {\n "const": "managed-declaration-only",\n "type": "string"\n },\n "import_name": {\n "minLength": 1,\n "type": "string"\n },\n "import_scope_name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "member_name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "member_token": {\n "anyOf": [\n {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "no_mangle": {\n "type": "boolean"\n },\n "token": {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n }\n },\n "required": [\n "token",\n "member_token",\n "member_name",\n "import_name",\n "import_scope_name",\n "no_mangle",\n "char_set",\n "call_convention",\n "declaration_verification"\n ],\n "type": "object"\n },\n "matched_native": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "module_name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "module_path": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "source": {\n "enum": [\n "macho-export",\n "function-dossier"\n ],\n "type": "string"\n }\n },\n "required": [\n "evidence_id",\n "operation",\n "name",\n "address",\n "module_name",\n "module_path",\n "source"\n ],\n "type": "object"\n },\n "status": {\n "const": "verified",\n "type": "string"\n }\n },\n "required": [\n "item_id",\n "managed",\n "evidence_links",\n "limitations",\n "status",\n "basis",\n "confidence",\n "matched_native",\n "candidates"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "basis": {\n "const": "decorated-name-candidate",\n "type": "string"\n },\n "candidates": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "module_name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "module_path": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "source": {\n "enum": [\n "macho-export",\n "function-dossier"\n ],\n "type": "string"\n }\n },\n "required": [\n "evidence_id",\n "operation",\n "name",\n "address",\n "module_name",\n "module_path",\n "source"\n ],\n "type": "object"\n },\n "prefixItems": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "module_name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "module_path": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "source": {\n "enum": [\n "macho-export",\n "function-dossier"\n ],\n "type": "string"\n }\n },\n "required": [\n "evidence_id",\n "operation",\n "name",\n "address",\n "module_name",\n "module_path",\n "source"\n ],\n "type": "object"\n }\n ],\n "type": "array"\n },\n "confidence": {\n "const": "inferred",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "item_id": {\n "pattern": "^mnv_pinvoke_[a-f0-9]{64}$",\n "type": "string"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "managed": {\n "additionalProperties": false,\n "properties": {\n "call_convention": {\n "enum": [\n "not-specified",\n "winapi",\n "cdecl",\n "stdcall",\n "thiscall",\n "fastcall",\n "unknown"\n ],\n "type": "string"\n },\n "char_set": {\n "enum": [\n "not-specified",\n "ansi",\n "unicode",\n "auto",\n "unknown"\n ],\n "type": "string"\n },\n "declaration_verification": {\n "const": "managed-declaration-only",\n "type": "string"\n },\n "import_name": {\n "minLength": 1,\n "type": "string"\n },\n "import_scope_name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "member_name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "member_token": {\n "anyOf": [\n {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "no_mangle": {\n "type": "boolean"\n },\n "token": {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n }\n },\n "required": [\n "token",\n "member_token",\n "member_name",\n "import_name",\n "import_scope_name",\n "no_mangle",\n "char_set",\n "call_convention",\n "declaration_verification"\n ],\n "type": "object"\n },\n "matched_native": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "module_name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "module_path": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "source": {\n "enum": [\n "macho-export",\n "function-dossier"\n ],\n "type": "string"\n }\n },\n "required": [\n "evidence_id",\n "operation",\n "name",\n "address",\n "module_name",\n "module_path",\n "source"\n ],\n "type": "object"\n },\n "status": {\n "const": "inferred",\n "type": "string"\n }\n },\n "required": [\n "item_id",\n "managed",\n "evidence_links",\n "limitations",\n "status",\n "basis",\n "confidence",\n "matched_native",\n "candidates"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "basis": {\n "enum": [\n "no-native-candidate",\n "unsupported-native-evidence"\n ],\n "type": "string"\n },\n "candidates": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "confidence": {\n "const": "unknown",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "item_id": {\n "pattern": "^mnv_pinvoke_[a-f0-9]{64}$",\n "type": "string"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "managed": {\n "additionalProperties": false,\n "properties": {\n "call_convention": {\n "enum": [\n "not-specified",\n "winapi",\n "cdecl",\n "stdcall",\n "thiscall",\n "fastcall",\n "unknown"\n ],\n "type": "string"\n },\n "char_set": {\n "enum": [\n "not-specified",\n "ansi",\n "unicode",\n "auto",\n "unknown"\n ],\n "type": "string"\n },\n "declaration_verification": {\n "const": "managed-declaration-only",\n "type": "string"\n },\n "import_name": {\n "minLength": 1,\n "type": "string"\n },\n "import_scope_name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "member_name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "member_token": {\n "anyOf": [\n {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "no_mangle": {\n "type": "boolean"\n },\n "token": {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n }\n },\n "required": [\n "token",\n "member_token",\n "member_name",\n "import_name",\n "import_scope_name",\n "no_mangle",\n "char_set",\n "call_convention",\n "declaration_verification"\n ],\n "type": "object"\n },\n "matched_native": {\n "type": "null"\n },\n "status": {\n "const": "unresolved",\n "type": "string"\n }\n },\n "required": [\n "item_id",\n "managed",\n "evidence_links",\n "limitations",\n "status",\n "basis",\n "confidence",\n "matched_native",\n "candidates"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "basis": {\n "const": "module-mismatch",\n "type": "string"\n },\n "candidates": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "module_name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "module_path": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "source": {\n "enum": [\n "macho-export",\n "function-dossier"\n ],\n "type": "string"\n }\n },\n "required": [\n "evidence_id",\n "operation",\n "name",\n "address",\n "module_name",\n "module_path",\n "source"\n ],\n "type": "object"\n },\n "prefixItems": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "module_name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "module_path": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "source": {\n "enum": [\n "macho-export",\n "function-dossier"\n ],\n "type": "string"\n }\n },\n "required": [\n "evidence_id",\n "operation",\n "name",\n "address",\n "module_name",\n "module_path",\n "source"\n ],\n "type": "object"\n }\n ],\n "type": "array"\n },\n "confidence": {\n "const": "unknown",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "item_id": {\n "pattern": "^mnv_pinvoke_[a-f0-9]{64}$",\n "type": "string"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "managed": {\n "additionalProperties": false,\n "properties": {\n "call_convention": {\n "enum": [\n "not-specified",\n "winapi",\n "cdecl",\n "stdcall",\n "thiscall",\n "fastcall",\n "unknown"\n ],\n "type": "string"\n },\n "char_set": {\n "enum": [\n "not-specified",\n "ansi",\n "unicode",\n "auto",\n "unknown"\n ],\n "type": "string"\n },\n "declaration_verification": {\n "const": "managed-declaration-only",\n "type": "string"\n },\n "import_name": {\n "minLength": 1,\n "type": "string"\n },\n "import_scope_name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "member_name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "member_token": {\n "anyOf": [\n {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "no_mangle": {\n "type": "boolean"\n },\n "token": {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n }\n },\n "required": [\n "token",\n "member_token",\n "member_name",\n "import_name",\n "import_scope_name",\n "no_mangle",\n "char_set",\n "call_convention",\n "declaration_verification"\n ],\n "type": "object"\n },\n "matched_native": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "module_name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "module_path": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "source": {\n "enum": [\n "macho-export",\n "function-dossier"\n ],\n "type": "string"\n }\n },\n "required": [\n "evidence_id",\n "operation",\n "name",\n "address",\n "module_name",\n "module_path",\n "source"\n ],\n "type": "object"\n },\n "status": {\n "const": "contradicted",\n "type": "string"\n }\n },\n "required": [\n "item_id",\n "managed",\n "evidence_links",\n "limitations",\n "status",\n "basis",\n "confidence",\n "matched_native",\n "candidates"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "summary": {\n "additionalProperties": false,\n "properties": {\n "contradicted": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "inferred": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "native_body_unresolved": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "unresolved": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "verified": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "verified",\n "inferred",\n "unresolved",\n "contradicted",\n "native_body_unresolved"\n ],\n "type": "object"\n },\n "verification_id": {\n "pattern": "^mnv_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "verification_id",\n "algorithm",\n "managed_boundary",\n "native_observations",\n "summary",\n "pinvoke_imports",\n "native_implementations",\n "coverage",\n "evidence_links",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": true,\n "title": "Verify Managed Native Boundaries"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "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 decoded-IL tuple hash, records the decompiler identity and options, and marks C# or pseudocode as analyst inference rather than canonical byte observation.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "decompiler": {\n "executable_sha256": null,\n "family": "ilspy",\n "name": "ilspycmd",\n "options": [\n "--disable-updatecheck",\n "--type",\n "Example.Program"\n ],\n "version": "9.1.0.7988"\n },\n "methods": [\n {\n "normalized_il_sha256": "5555555555555555555555555555555555555555555555555555555555555555",\n "reconstruction": {\n "end_line": 1,\n "kind": "decompiled-csharp",\n "language": "csharp",\n "source_path": "/examples/Example.Program.cs",\n "start_line": 1,\n "text": "internal static void Main() { }"\n },\n "signature_sha256": "3333333333333333333333333333333333333333333333333333333333333333",\n "token": "0x06000001"\n }\n ],\n "notes": [\n "Synthetic example only; decompiler output is imported as inference."\n ],\n "static_members": {\n "authority": "shipped-artifact",\n "confidence": "observed",\n "environment": null,\n "evidence_id": "ev_cf07661a99083e446ac5f18af3ca331cb1af7c3cd6cb7c9dc8bff880a1ed8bb9",\n "evidence_links": [],\n "limitations": [\n "Artifact identity is unavailable for this observation."\n ],\n "locations": [],\n "normalized_result": {\n "artifact": {\n "byte_length": 4096,\n "format": "pe",\n "path": "/examples/22222222.dll",\n "sha256": "2222222222222222222222222222222222222222222222222222222222222222"\n },\n "call_edges": [],\n "coverage": {\n "issues": [],\n "state": "complete"\n },\n "field_accesses": [],\n "fields": [],\n "identity_scope": {\n "requires_artifact_sha256": "2222222222222222222222222222222222222222222222222222222222222222",\n "requires_mvid": "11112222-3333-4444-9555-666677778888",\n "token_identity": "build-local"\n },\n "limitations": [],\n "member_refs": [],\n "metadata": {\n "status": "complete",\n "table_row_counts": {},\n "version": "v4.0.30319"\n },\n "methods": [\n {\n "body": {\n "anchors": [],\n "decoded_instruction_count": 1,\n "exception_regions": [],\n "file_offset": 512,\n "header_format": "tiny",\n "il_sha256": "4444444444444444444444444444444444444444444444444444444444444444",\n "il_size": 1,\n "init_locals": false,\n "instruction_count": 1,\n "issue": null,\n "local_var_sig_token": null,\n "max_stack": 8,\n "normalized_il_sha256": "5555555555555555555555555555555555555555555555555555555555555555",\n "opcode_counts": {\n "ret": 1\n },\n "rva": 8192,\n "status": "present",\n "truncated_instructions": 0\n },\n "declaring_type": "Example.Program",\n "declaring_type_token": "0x02000001",\n "flags": 22,\n "impl_flags": 0,\n "name": "Main",\n "row_offset": 128,\n "rva": 8192,\n "signature": {\n "calling_convention": "default",\n "field_type": null,\n "generic_parameter_count": 0,\n "issue": null,\n "kind": "method",\n "parameter_count": 0,\n "parameter_types": [],\n "parse_status": "decoded",\n "raw_length": 3,\n "raw_sha256": "3333333333333333333333333333333333333333333333333333333333333333",\n "return_type": "void"\n },\n "token": "0x06000001"\n }\n ],\n "module": {\n "enc_base_id": null,\n "enc_id": null,\n "generation": 0,\n "mvid": "11112222-3333-4444-9555-666677778888",\n "name": "Example.dll",\n "row_offset": 0,\n "token": "0x00000001"\n },\n "types": []\n },\n "operation": "inspect_managed_members",\n "parameters": {},\n "predicate_type": "rea.analysis",\n "provider": {\n "id": "rea-dotnet-static",\n "name": "REA managed static analysis provider",\n "version": "1"\n },\n "raw_result": null,\n "subject": null\n }\n }\n ],\n "properties": {\n "decompiler": {\n "additionalProperties": false,\n "description": "Value for decompiler.",\n "properties": {\n "executable_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "Exact SHA-256 digest of executable."\n },\n "family": {\n "description": "Value for family.",\n "enum": [\n "ilspy",\n "dnspy",\n "dnlib",\n "mono-cecil",\n "other"\n ],\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "options": {\n "default": [],\n "description": "Value for options.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "version": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "Value for version."\n }\n },\n "required": [\n "name",\n "family"\n ],\n "type": "object"\n },\n "methods": {\n "description": "Value for methods.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "normalized_il_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Exact SHA-256 digest of normalized il."\n },\n "reconstruction": {\n "additionalProperties": false,\n "description": "Value for reconstruction.",\n "properties": {\n "end_line": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for end line."\n },\n "kind": {\n "description": "Value for kind.",\n "enum": [\n "decompiled-csharp",\n "decompiled-il",\n "semantic-pseudocode"\n ],\n "type": "string"\n },\n "language": {\n "description": "Value for language.",\n "enum": [\n "csharp",\n "il",\n "pseudocode"\n ],\n "type": "string"\n },\n "source_path": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Local filesystem path for source."\n },\n "start_line": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for start line."\n },\n "text": {\n "description": "Value for text.",\n "minLength": 1,\n "type": "string"\n },\n "text_sha256": {\n "description": "Exact SHA-256 digest of text.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "language",\n "text"\n ],\n "type": "object"\n },\n "signature_sha256": {\n "description": "Exact SHA-256 digest of signature.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "token": {\n "description": "Value for token.",\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n }\n },\n "required": [\n "token",\n "signature_sha256",\n "normalized_il_sha256",\n "reconstruction"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "notes": {\n "default": [],\n "description": "Value for notes.",\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "static_members": {\n "additionalProperties": false,\n "description": "Value for static members.",\n "properties": {\n "analysis_profile": {\n "description": "Value for analysis profile.",\n "properties": {\n "digest": {\n "description": "Value for digest.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "description": "Value for version.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "description": "Value for authority.",\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "description": "Value for confidence.",\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "description": "Value for architecture.",\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "description": "Value for isolation.",\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "description": "Value for platform.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for environment."\n },\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "description": "Value for evidence links.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "description": "Value for locations.",\n "items": {\n "oneOf": [\n {\n "properties": {\n "address": {\n "description": "Value for address.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "artifact-path",\n "description": "Value for kind.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "file-offset",\n "description": "Value for kind.",\n "type": "string"\n },\n "offset": {\n "description": "Value for offset.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0",\n "description": "Value for normalized result."\n },\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "description": "Value for predicate type.",\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for version."\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for raw result."\n },\n "subject": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "digest": {\n "description": "Value for digest.",\n "properties": {\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "description": "Declared input artifact format.",\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "description": "Local filesystem path for local.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for subject."\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n }\n },\n "required": [\n "static_members",\n "decompiler",\n "methods"\n ],\n "type": "object"\n },\n "kind": "application",\n "name": "import_managed_reconstruction",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "decompiler": {\n "additionalProperties": false,\n "properties": {\n "executable_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "family": {\n "enum": [\n "ilspy",\n "dnspy",\n "dnlib",\n "mono-cecil",\n "other"\n ],\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "options": {\n "default": [],\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "options_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n }\n },\n "required": [\n "name",\n "version",\n "family",\n "executable_sha256",\n "options",\n "options_sha256"\n ],\n "type": "object"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "maxItems": 1,\n "minItems": 1,\n "type": "array"\n },\n "executed": {\n "const": false,\n "type": "boolean"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "methods": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "body_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "declaring_type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "il_size": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "name": {\n "type": "string"\n },\n "normalized_il_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "reconstruction": {\n "additionalProperties": false,\n "properties": {\n "end_line": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "kind": {\n "enum": [\n "decompiled-csharp",\n "decompiled-il",\n "semantic-pseudocode"\n ],\n "type": "string"\n },\n "language": {\n "enum": [\n "csharp",\n "il",\n "pseudocode"\n ],\n "type": "string"\n },\n "line_count": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "source_path": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "start_line": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "text": {\n "minLength": 1,\n "type": "string"\n },\n "text_length": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "text_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "language",\n "text",\n "text_sha256",\n "text_length",\n "line_count",\n "source_path",\n "start_line",\n "end_line"\n ],\n "type": "object"\n },\n "signature_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "token": {\n "pattern": "^0x[0-9a-f]{8}$",\n "type": "string"\n },\n "validation": {\n "additionalProperties": false,\n "properties": {\n "canonical_observation": {\n "const": false,\n "type": "boolean"\n },\n "confidence_floor": {\n "const": "inference",\n "type": "string"\n },\n "exact_build_required": {\n "const": true,\n "type": "boolean"\n },\n "matched_static_member": {\n "const": true,\n "type": "boolean"\n }\n },\n "required": [\n "matched_static_member",\n "exact_build_required",\n "canonical_observation",\n "confidence_floor"\n ],\n "type": "object"\n }\n },\n "required": [\n "token",\n "declaring_type",\n "name",\n "signature_sha256",\n "normalized_il_sha256",\n "body_sha256",\n "il_size",\n "reconstruction",\n "validation"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "notes": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "phase": {\n "const": "reconstruction-import",\n "type": "string"\n },\n "reconstruction_id": {\n "pattern": "^mre_[a-f0-9]{64}$",\n "type": "string"\n },\n "static_observation": {\n "additionalProperties": false,\n "properties": {\n "artifact_path": {\n "minLength": 1,\n "type": "string"\n },\n "artifact_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "byte_length": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "metadata_status": {\n "enum": [\n "absent",\n "complete",\n "partial",\n "malformed"\n ],\n "type": "string"\n },\n "module_name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "mvid": {\n "anyOf": [\n {\n "pattern": "^[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "artifact_sha256",\n "artifact_path",\n "byte_length",\n "module_name",\n "mvid",\n "metadata_status"\n ],\n "type": "object"\n },\n "summary": {\n "additionalProperties": false,\n "properties": {\n "decompiled_csharp_methods": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "decompiled_il_methods": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "imported_methods": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "pseudocode_methods": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "total_text_bytes": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "imported_methods",\n "decompiled_csharp_methods",\n "decompiled_il_methods",\n "pseudocode_methods",\n "total_text_bytes"\n ],\n "type": "object"\n }\n },\n "required": [\n "reconstruction_id",\n "phase",\n "executed",\n "static_observation",\n "decompiler",\n "summary",\n "methods",\n "notes",\n "evidence_links",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": true,\n "title": "Import Managed Reconstruction"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "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.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "managed_artifact": {\n "additionalProperties": false,\n "description": "Value for managed artifact.",\n "properties": {\n "analysis_profile": {\n "description": "Value for analysis profile.",\n "properties": {\n "digest": {\n "description": "Value for digest.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "description": "Value for version.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "description": "Value for authority.",\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "description": "Value for confidence.",\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "description": "Value for architecture.",\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "description": "Value for isolation.",\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "description": "Value for platform.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for environment."\n },\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "description": "Value for evidence links.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "description": "Value for locations.",\n "items": {\n "oneOf": [\n {\n "properties": {\n "address": {\n "description": "Value for address.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "artifact-path",\n "description": "Value for kind.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "file-offset",\n "description": "Value for kind.",\n "type": "string"\n },\n "offset": {\n "description": "Value for offset.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0",\n "description": "Value for normalized result."\n },\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "description": "Value for predicate type.",\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for version."\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for raw result."\n },\n "subject": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "digest": {\n "description": "Value for digest.",\n "properties": {\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "description": "Declared input artifact format.",\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "description": "Local filesystem path for local.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for subject."\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "managed_members": {\n "additionalProperties": false,\n "description": "Value for managed members.",\n "properties": {\n "analysis_profile": {\n "description": "Value for analysis profile.",\n "properties": {\n "digest": {\n "description": "Value for digest.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "description": "Value for version.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "description": "Value for authority.",\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "description": "Value for confidence.",\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "description": "Value for architecture.",\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "description": "Value for isolation.",\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "description": "Value for platform.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for environment."\n },\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "description": "Value for evidence links.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "description": "Value for locations.",\n "items": {\n "oneOf": [\n {\n "properties": {\n "address": {\n "description": "Value for address.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "artifact-path",\n "description": "Value for kind.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "file-offset",\n "description": "Value for kind.",\n "type": "string"\n },\n "offset": {\n "description": "Value for offset.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0",\n "description": "Value for normalized result."\n },\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "description": "Value for predicate type.",\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for version."\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for raw result."\n },\n "subject": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "digest": {\n "description": "Value for digest.",\n "properties": {\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "description": "Declared input artifact format.",\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "description": "Local filesystem path for local.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for subject."\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "managed_native_boundaries": {\n "additionalProperties": false,\n "description": "Value for managed native boundaries.",\n "properties": {\n "analysis_profile": {\n "description": "Value for analysis profile.",\n "properties": {\n "digest": {\n "description": "Value for digest.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "description": "Value for version.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "description": "Value for authority.",\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "description": "Value for confidence.",\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "description": "Value for architecture.",\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "description": "Value for isolation.",\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "description": "Value for platform.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for environment."\n },\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "description": "Value for evidence links.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "description": "Value for locations.",\n "items": {\n "oneOf": [\n {\n "properties": {\n "address": {\n "description": "Value for address.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "artifact-path",\n "description": "Value for kind.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "file-offset",\n "description": "Value for kind.",\n "type": "string"\n },\n "offset": {\n "description": "Value for offset.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0",\n "description": "Value for normalized result."\n },\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "description": "Value for predicate type.",\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for version."\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for raw result."\n },\n "subject": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "digest": {\n "description": "Value for digest.",\n "properties": {\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "description": "Declared input artifact format.",\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "description": "Local filesystem path for local.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for subject."\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n }\n },\n "required": [\n "managed_artifact"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "managed_artifact": {\n "additionalProperties": false,\n "description": "Value for managed artifact.",\n "properties": {\n "analysis_profile": {\n "description": "Value for analysis profile.",\n "properties": {\n "digest": {\n "description": "Value for digest.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "description": "Value for version.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "description": "Value for authority.",\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "description": "Value for confidence.",\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "description": "Value for architecture.",\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "description": "Value for isolation.",\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "description": "Value for platform.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for environment."\n },\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "description": "Value for evidence links.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "description": "Value for locations.",\n "items": {\n "oneOf": [\n {\n "properties": {\n "address": {\n "description": "Value for address.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "artifact-path",\n "description": "Value for kind.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "file-offset",\n "description": "Value for kind.",\n "type": "string"\n },\n "offset": {\n "description": "Value for offset.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0",\n "description": "Value for normalized result."\n },\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "description": "Value for predicate type.",\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for version."\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for raw result."\n },\n "subject": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "digest": {\n "description": "Value for digest.",\n "properties": {\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "description": "Declared input artifact format.",\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "description": "Local filesystem path for local.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for subject."\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "managed_members": {\n "additionalProperties": false,\n "description": "Value for managed members.",\n "properties": {\n "analysis_profile": {\n "description": "Value for analysis profile.",\n "properties": {\n "digest": {\n "description": "Value for digest.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "description": "Value for version.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "description": "Value for authority.",\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "description": "Value for confidence.",\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "description": "Value for architecture.",\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "description": "Value for isolation.",\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "description": "Value for platform.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for environment."\n },\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "description": "Value for evidence links.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "description": "Value for locations.",\n "items": {\n "oneOf": [\n {\n "properties": {\n "address": {\n "description": "Value for address.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "artifact-path",\n "description": "Value for kind.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "file-offset",\n "description": "Value for kind.",\n "type": "string"\n },\n "offset": {\n "description": "Value for offset.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0",\n "description": "Value for normalized result."\n },\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "description": "Value for predicate type.",\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for version."\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for raw result."\n },\n "subject": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "digest": {\n "description": "Value for digest.",\n "properties": {\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "description": "Declared input artifact format.",\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "description": "Local filesystem path for local.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for subject."\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "managed_native_boundaries": {\n "additionalProperties": false,\n "description": "Value for managed native boundaries.",\n "properties": {\n "analysis_profile": {\n "description": "Value for analysis profile.",\n "properties": {\n "digest": {\n "description": "Value for digest.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "description": "Value for version.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "description": "Value for authority.",\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "description": "Value for confidence.",\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "description": "Value for architecture.",\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "description": "Value for isolation.",\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "description": "Value for platform.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for environment."\n },\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "description": "Value for evidence links.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "description": "Value for locations.",\n "items": {\n "oneOf": [\n {\n "properties": {\n "address": {\n "description": "Value for address.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "artifact-path",\n "description": "Value for kind.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "file-offset",\n "description": "Value for kind.",\n "type": "string"\n },\n "offset": {\n "description": "Value for offset.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0",\n "description": "Value for normalized result."\n },\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "description": "Value for predicate type.",\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for version."\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for raw result."\n },\n "subject": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "digest": {\n "description": "Value for digest.",\n "properties": {\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "description": "Declared input artifact format.",\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "description": "Local filesystem path for local.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for subject."\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n }\n },\n "required": [\n "managed_members"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "managed_artifact": {\n "additionalProperties": false,\n "description": "Value for managed artifact.",\n "properties": {\n "analysis_profile": {\n "description": "Value for analysis profile.",\n "properties": {\n "digest": {\n "description": "Value for digest.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "description": "Value for version.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "description": "Value for authority.",\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "description": "Value for confidence.",\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "description": "Value for architecture.",\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "description": "Value for isolation.",\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "description": "Value for platform.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for environment."\n },\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "description": "Value for evidence links.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "description": "Value for locations.",\n "items": {\n "oneOf": [\n {\n "properties": {\n "address": {\n "description": "Value for address.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "artifact-path",\n "description": "Value for kind.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "file-offset",\n "description": "Value for kind.",\n "type": "string"\n },\n "offset": {\n "description": "Value for offset.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0",\n "description": "Value for normalized result."\n },\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "description": "Value for predicate type.",\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for version."\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for raw result."\n },\n "subject": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "digest": {\n "description": "Value for digest.",\n "properties": {\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "description": "Declared input artifact format.",\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "description": "Local filesystem path for local.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for subject."\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "managed_members": {\n "additionalProperties": false,\n "description": "Value for managed members.",\n "properties": {\n "analysis_profile": {\n "description": "Value for analysis profile.",\n "properties": {\n "digest": {\n "description": "Value for digest.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "description": "Value for version.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "description": "Value for authority.",\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "description": "Value for confidence.",\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "description": "Value for architecture.",\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "description": "Value for isolation.",\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "description": "Value for platform.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for environment."\n },\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "description": "Value for evidence links.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "description": "Value for locations.",\n "items": {\n "oneOf": [\n {\n "properties": {\n "address": {\n "description": "Value for address.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "artifact-path",\n "description": "Value for kind.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "file-offset",\n "description": "Value for kind.",\n "type": "string"\n },\n "offset": {\n "description": "Value for offset.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0",\n "description": "Value for normalized result."\n },\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "description": "Value for predicate type.",\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for version."\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for raw result."\n },\n "subject": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "digest": {\n "description": "Value for digest.",\n "properties": {\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "description": "Declared input artifact format.",\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "description": "Local filesystem path for local.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for subject."\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "managed_native_boundaries": {\n "additionalProperties": false,\n "description": "Value for managed native boundaries.",\n "properties": {\n "analysis_profile": {\n "description": "Value for analysis profile.",\n "properties": {\n "digest": {\n "description": "Value for digest.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "description": "Value for version.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "description": "Value for authority.",\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "description": "Value for confidence.",\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "description": "Value for architecture.",\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "description": "Value for isolation.",\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "description": "Value for platform.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for environment."\n },\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "description": "Value for evidence links.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "description": "Value for locations.",\n "items": {\n "oneOf": [\n {\n "properties": {\n "address": {\n "description": "Value for address.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "artifact-path",\n "description": "Value for kind.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "file-offset",\n "description": "Value for kind.",\n "type": "string"\n },\n "offset": {\n "description": "Value for offset.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0",\n "description": "Value for normalized result."\n },\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "description": "Value for predicate type.",\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for version."\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for raw result."\n },\n "subject": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "digest": {\n "description": "Value for digest.",\n "properties": {\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "description": "Declared input artifact format.",\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "description": "Local filesystem path for local.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for subject."\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n }\n },\n "required": [\n "managed_native_boundaries"\n ],\n "type": "object"\n }\n ],\n "examples": [\n {\n "managed_members": {\n "authority": "shipped-artifact",\n "confidence": "observed",\n "environment": null,\n "evidence_id": "ev_cf07661a99083e446ac5f18af3ca331cb1af7c3cd6cb7c9dc8bff880a1ed8bb9",\n "evidence_links": [],\n "limitations": [\n "Artifact identity is unavailable for this observation."\n ],\n "locations": [],\n "normalized_result": {\n "artifact": {\n "byte_length": 4096,\n "format": "pe",\n "path": "/examples/22222222.dll",\n "sha256": "2222222222222222222222222222222222222222222222222222222222222222"\n },\n "call_edges": [],\n "coverage": {\n "issues": [],\n "state": "complete"\n },\n "field_accesses": [],\n "fields": [],\n "identity_scope": {\n "requires_artifact_sha256": "2222222222222222222222222222222222222222222222222222222222222222",\n "requires_mvid": "11112222-3333-4444-9555-666677778888",\n "token_identity": "build-local"\n },\n "limitations": [],\n "member_refs": [],\n "metadata": {\n "status": "complete",\n "table_row_counts": {},\n "version": "v4.0.30319"\n },\n "methods": [\n {\n "body": {\n "anchors": [],\n "decoded_instruction_count": 1,\n "exception_regions": [],\n "file_offset": 512,\n "header_format": "tiny",\n "il_sha256": "4444444444444444444444444444444444444444444444444444444444444444",\n "il_size": 1,\n "init_locals": false,\n "instruction_count": 1,\n "issue": null,\n "local_var_sig_token": null,\n "max_stack": 8,\n "normalized_il_sha256": "5555555555555555555555555555555555555555555555555555555555555555",\n "opcode_counts": {\n "ret": 1\n },\n "rva": 8192,\n "status": "present",\n "truncated_instructions": 0\n },\n "declaring_type": "Example.Program",\n "declaring_type_token": "0x02000001",\n "flags": 22,\n "impl_flags": 0,\n "name": "Main",\n "row_offset": 128,\n "rva": 8192,\n "signature": {\n "calling_convention": "default",\n "field_type": null,\n "generic_parameter_count": 0,\n "issue": null,\n "kind": "method",\n "parameter_count": 0,\n "parameter_types": [],\n "parse_status": "decoded",\n "raw_length": 3,\n "raw_sha256": "3333333333333333333333333333333333333333333333333333333333333333",\n "return_type": "void"\n },\n "token": "0x06000001"\n }\n ],\n "module": {\n "enc_base_id": null,\n "enc_id": null,\n "generation": 0,\n "mvid": "11112222-3333-4444-9555-666677778888",\n "name": "Example.dll",\n "row_offset": 0,\n "token": "0x00000001"\n },\n "types": []\n },\n "operation": "inspect_managed_members",\n "parameters": {},\n "predicate_type": "rea.analysis",\n "provider": {\n "id": "rea-dotnet-static",\n "name": "REA managed static analysis provider",\n "version": "1"\n },\n "raw_result": null,\n "subject": null\n }\n }\n ],\n "type": "object"\n },\n "kind": "application",\n "name": "project_managed_application_graph",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "coverage": {\n "additionalProperties": false,\n "properties": {\n "status": {\n "enum": [\n "complete-within-inputs",\n "partial"\n ],\n "type": "string"\n }\n },\n "required": [\n "status"\n ],\n "type": "object"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "maxItems": 3,\n "minItems": 1,\n "type": "array"\n },\n "graph": {\n "additionalProperties": false,\n "properties": {\n "coverage": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "const": 0,\n "type": "number"\n },\n "status": {\n "const": "complete",\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "partial",\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "omitted_count": {\n "anyOf": [\n {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "partial",\n "type": "string"\n },\n "truncated": {\n "const": true,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "type": "null"\n },\n "status": {\n "enum": [\n "unknown",\n "unavailable"\n ],\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n }\n ]\n },\n "edges": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "edge_id": {\n "pattern": "^jag_edge_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "artifact": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "artifact_id": {\n "pattern": "^art_[a-f0-9]{64}$",\n "type": "string"\n },\n "available": {\n "const": true,\n "type": "boolean"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "available",\n "artifact_id",\n "sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "enum": [\n "not-applicable",\n "not-observed",\n "truncated",\n "provider-unavailable",\n "unresolved",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason",\n "detail"\n ],\n "type": "object"\n }\n ]\n },\n "authority": {\n "enum": [\n "artifact-bytes",\n "ast-static-analysis",\n "static-relationship-inference",\n "passive-cdp-runtime",\n "cross-layer-reconciliation",\n "cross-version-comparison",\n "controlled-replay",\n "native-analysis-provider",\n "managed-static-analysis",\n "historical-reference",\n "user-assertion",\n "unknown"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "exact",\n "high",\n "medium",\n "low",\n "unknown"\n ],\n "type": "string"\n },\n "coverage": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "const": 0,\n "type": "number"\n },\n "status": {\n "const": "complete",\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "partial",\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "omitted_count": {\n "anyOf": [\n {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "partial",\n "type": "string"\n },\n "truncated": {\n "const": true,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "type": "null"\n },\n "status": {\n "enum": [\n "unknown",\n "unavailable"\n ],\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n }\n ]\n },\n "evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "extractor": {\n "additionalProperties": false,\n "properties": {\n "executable_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "version",\n "operation",\n "executable_sha256"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "location": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "value": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "line",\n "column"\n ],\n "type": "object"\n },\n "kind": {\n "const": "source-range",\n "type": "string"\n },\n "source": {\n "minLength": 1,\n "type": "string"\n },\n "start": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "line",\n "column"\n ],\n "type": "object"\n }\n },\n "required": [\n "kind",\n "source",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "url",\n "type": "string"\n },\n "url": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "url"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "capture_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "frame_key": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "kind": {\n "const": "runtime",\n "type": "string"\n },\n "script_key": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "target_key": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "capture_sha256",\n "target_key",\n "frame_key",\n "script_key"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "native-address",\n "type": "string"\n },\n "symbol": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "kind",\n "address",\n "symbol"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "export_path": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "package-export",\n "type": "string"\n },\n "package_name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "package_name",\n "export_path"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "available",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "enum": [\n "not-applicable",\n "not-observed",\n "truncated",\n "provider-unavailable",\n "unresolved",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason",\n "detail"\n ],\n "type": "object"\n }\n ]\n },\n "state": {\n "enum": [\n "observed",\n "inferred",\n "unknown",\n "unavailable"\n ],\n "type": "string"\n }\n },\n "required": [\n "authority",\n "state",\n "confidence",\n "artifact",\n "location",\n "extractor",\n "coverage",\n "limitations",\n "evidence_ids"\n ],\n "type": "object"\n },\n "identifier_strategy": {\n "additionalProperties": false,\n "properties": {\n "stability": {\n "const": "relationship-exact",\n "type": "string"\n },\n "strategy": {\n "const": "semantic-content-sha256",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability"\n ],\n "type": "object"\n },\n "properties": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "minLength": 1,\n "type": "string"\n },\n "type": "object"\n },\n "relation": {\n "enum": [\n "contains",\n "loads",\n "imports",\n "maps_to",\n "exposes",\n "sends",\n "invokes",\n "handles",\n "calls",\n "persists_to",\n "observed_as",\n "changed_from"\n ],\n "type": "string"\n },\n "source_node_id": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "target_node_id": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "source_node_id",\n "target_node_id",\n "relation",\n "properties",\n "evidence",\n "edge_id",\n "identifier_strategy"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "graph_id": {\n "pattern": "^jag_[a-f0-9]{64}$",\n "type": "string"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "nodes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "identity": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "stability": {\n "const": "global-exact",\n "type": "string"\n },\n "strategy": {\n "const": "content-digest",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability",\n "sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "original_source": {\n "type": "string"\n },\n "source_map_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "source_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "stability": {\n "const": "source-map-exact",\n "type": "string"\n },\n "strategy": {\n "const": "source-map-original",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability",\n "source_map_sha256",\n "original_source",\n "source_sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "artifact_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n },\n "stability": {\n "const": "artifact-version",\n "type": "string"\n },\n "strategy": {\n "const": "canonical-path",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability",\n "artifact_sha256",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "algorithm": {\n "minLength": 1,\n "type": "string"\n },\n "basis": {\n "items": {\n "enum": [\n "syntax-tree",\n "control-flow",\n "imports",\n "exports",\n "literals",\n "api-usage"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "fingerprint_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "stability": {\n "const": "cross-version-inference",\n "type": "string"\n },\n "strategy": {\n "const": "structural-fingerprint",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability",\n "algorithm",\n "fingerprint_sha256",\n "basis"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "artifact_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "key": {\n "type": "string"\n },\n "namespace": {\n "minLength": 1,\n "type": "string"\n },\n "stability": {\n "const": "artifact-version",\n "type": "string"\n },\n "strategy": {\n "const": "artifact-local-key",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability",\n "artifact_sha256",\n "namespace",\n "key"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "capture_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "runtime_key": {\n "minLength": 1,\n "type": "string"\n },\n "stability": {\n "const": "capture-only",\n "type": "string"\n },\n "strategy": {\n "const": "runtime-instance",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability",\n "capture_sha256",\n "runtime_key"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "observation_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "scope": {\n "minLength": 1,\n "type": "string"\n },\n "stability": {\n "const": "observation-only",\n "type": "string"\n },\n "strategy": {\n "const": "observation-fingerprint",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability",\n "observation_sha256",\n "scope"\n ],\n "type": "object"\n }\n ]\n },\n "kind": {\n "enum": [\n "package",\n "installer",\n "artifact",\n "asar-entry",\n "electron-main",\n "electron-preload",\n "electron-renderer",\n "electron-utility",\n "javascript-asset",\n "javascript-chunk",\n "javascript-module",\n "source-map",\n "source-module",\n "browser-window",\n "frame",\n "target",\n "context-bridge-api",\n "ipc-channel",\n "ipc-handler",\n "worker",\n "service-worker",\n "endpoint",\n "storage",\n "native-addon",\n "native-export",\n "managed-assembly",\n "managed-module",\n "managed-type",\n "managed-method",\n "managed-field",\n "managed-pinvoke-import",\n "managed-native-implementation",\n "runtime-script-instance",\n "unknown"\n ],\n "type": "string"\n },\n "node_id": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "observations": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "artifact": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "artifact_id": {\n "pattern": "^art_[a-f0-9]{64}$",\n "type": "string"\n },\n "available": {\n "const": true,\n "type": "boolean"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "available",\n "artifact_id",\n "sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "enum": [\n "not-applicable",\n "not-observed",\n "truncated",\n "provider-unavailable",\n "unresolved",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason",\n "detail"\n ],\n "type": "object"\n }\n ]\n },\n "authority": {\n "enum": [\n "artifact-bytes",\n "ast-static-analysis",\n "static-relationship-inference",\n "passive-cdp-runtime",\n "cross-layer-reconciliation",\n "cross-version-comparison",\n "controlled-replay",\n "native-analysis-provider",\n "managed-static-analysis",\n "historical-reference",\n "user-assertion",\n "unknown"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "exact",\n "high",\n "medium",\n "low",\n "unknown"\n ],\n "type": "string"\n },\n "coverage": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "const": 0,\n "type": "number"\n },\n "status": {\n "const": "complete",\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "partial",\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "omitted_count": {\n "anyOf": [\n {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "partial",\n "type": "string"\n },\n "truncated": {\n "const": true,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "type": "null"\n },\n "status": {\n "enum": [\n "unknown",\n "unavailable"\n ],\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n }\n ]\n },\n "evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "extractor": {\n "additionalProperties": false,\n "properties": {\n "executable_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "version",\n "operation",\n "executable_sha256"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "location": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "value": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "line",\n "column"\n ],\n "type": "object"\n },\n "kind": {\n "const": "source-range",\n "type": "string"\n },\n "source": {\n "minLength": 1,\n "type": "string"\n },\n "start": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "line",\n "column"\n ],\n "type": "object"\n }\n },\n "required": [\n "kind",\n "source",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "url",\n "type": "string"\n },\n "url": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "url"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "capture_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "frame_key": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "kind": {\n "const": "runtime",\n "type": "string"\n },\n "script_key": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "target_key": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "capture_sha256",\n "target_key",\n "frame_key",\n "script_key"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "native-address",\n "type": "string"\n },\n "symbol": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "kind",\n "address",\n "symbol"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "export_path": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "package-export",\n "type": "string"\n },\n "package_name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "package_name",\n "export_path"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "available",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "enum": [\n "not-applicable",\n "not-observed",\n "truncated",\n "provider-unavailable",\n "unresolved",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason",\n "detail"\n ],\n "type": "object"\n }\n ]\n },\n "state": {\n "enum": [\n "observed",\n "inferred",\n "unknown",\n "unavailable"\n ],\n "type": "string"\n }\n },\n "required": [\n "authority",\n "state",\n "confidence",\n "artifact",\n "location",\n "extractor",\n "coverage",\n "limitations",\n "evidence_ids"\n ],\n "type": "object"\n },\n "identifier_strategy": {\n "additionalProperties": false,\n "properties": {\n "stability": {\n "const": "observation-exact",\n "type": "string"\n },\n "strategy": {\n "const": "semantic-content-sha256",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability"\n ],\n "type": "object"\n },\n "label": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "observation_id": {\n "pattern": "^jag_observation_[a-f0-9]{64}$",\n "type": "string"\n },\n "properties": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "minLength": 1,\n "type": "string"\n },\n "type": "object"\n }\n },\n "required": [\n "label",\n "properties",\n "evidence",\n "observation_id",\n "identifier_strategy"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "node_id",\n "kind",\n "identity",\n "observations"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "root_node_ids": {\n "items": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "schema": {\n "const": "JavaScriptApplicationGraph",\n "type": "string"\n }\n },\n "required": [\n "schema",\n "root_node_ids",\n "nodes",\n "edges",\n "coverage",\n "limitations",\n "graph_id"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "projection_id": {\n "pattern": "^magp_[a-f0-9]{64}$",\n "type": "string"\n },\n "root_artifact_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "source_evidence": {\n "additionalProperties": false,\n "properties": {\n "managed_artifact_evidence_id": {\n "anyOf": [\n {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "managed_members_evidence_id": {\n "anyOf": [\n {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "managed_native_boundaries_evidence_id": {\n "anyOf": [\n {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "managed_artifact_evidence_id",\n "managed_members_evidence_id",\n "managed_native_boundaries_evidence_id"\n ],\n "type": "object"\n },\n "summary": {\n "additionalProperties": false,\n "properties": {\n "assemblies": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "fields": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "graph_edges": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "graph_nodes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "methods": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "modules": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "native_implementations": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "pinvoke_imports": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "types": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "graph_nodes",\n "graph_edges",\n "assemblies",\n "modules",\n "types",\n "methods",\n "fields",\n "pinvoke_imports",\n "native_implementations"\n ],\n "type": "object"\n }\n },\n "required": [\n "projection_id",\n "root_artifact_sha256",\n "source_evidence",\n "summary",\n "graph",\n "coverage",\n "evidence_links",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": true,\n "title": "Project Managed Application Graph"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": true,\n "readOnlyHint": false\n },\n "description": "List page targets exposed by the selected loopback Chrome DevTools Protocol endpoint. Optionally filter by exact origin. URLs preserve query values and fragments; only URL userinfo credentials are removed.",\n "effects": {\n "accessesNetwork": true,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {\n "cdp_endpoint": "http://127.0.0.1:9222"\n }\n ],\n "properties": {\n "allowed_origins": {\n "description": "Value for allowed origins.",\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "cdp_endpoint": {\n "description": "Literal loopback Chrome DevTools Protocol endpoint.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "cdp_endpoint"\n ],\n "type": "object"\n },\n "kind": "browser-provider",\n "name": "list_browser_targets",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "browser": {\n "additionalProperties": false,\n "properties": {\n "js_version": {\n "type": "string"\n },\n "product": {\n "type": "string"\n },\n "protocol_version": {\n "type": "string"\n },\n "revision": {\n "type": "string"\n },\n "user_agent": {\n "type": "string"\n }\n },\n "required": [\n "product",\n "protocol_version",\n "revision",\n "user_agent",\n "js_version"\n ],\n "type": "object"\n },\n "excluded": {\n "additionalProperties": false,\n "properties": {\n "disallowed_origin": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "non_page": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "unsupported_url": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "disallowed_origin",\n "unsupported_url",\n "non_page"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "targets": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "attached": {\n "type": "boolean"\n },\n "origin": {\n "type": "string"\n },\n "target_id": {\n "type": "string"\n },\n "title": {\n "type": "string"\n },\n "type": {\n "type": "string"\n },\n "url": {\n "type": "string"\n }\n },\n "required": [\n "target_id",\n "type",\n "title",\n "url",\n "origin",\n "attached"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "browser",\n "targets",\n "excluded",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "List Browser Targets"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": true,\n "readOnlyHint": false\n },\n "description": "Passively inspect one selected page target through CDP without evaluating JavaScript, navigating, clicking, closing, or mutating the page. If no origin filter is supplied, capture is scoped to the target\'s current origin. Returns DOM structure, accessibility, scripts, resources, attach-window network and console metadata, workers, and redacted storage inventory as Evidence.",\n "effects": {\n "accessesNetwork": true,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "allowed_origins": {\n "description": "Value for allowed origins.",\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "cdp_endpoint": {\n "description": "Literal loopback Chrome DevTools Protocol endpoint.",\n "minLength": 1,\n "type": "string"\n },\n "include_accessibility_text": {\n "default": false,\n "description": "Whether to include accessibility text in the result.",\n "type": "boolean"\n },\n "include_console_text": {\n "default": false,\n "description": "Whether to include console text in the result.",\n "type": "boolean"\n },\n "include_json_body_shapes": {\n "default": false,\n "description": "Whether to include json body shapes in the result.",\n "type": "boolean"\n },\n "include_script_sources": {\n "const": false,\n "default": false,\n "description": "Whether to include script sources in the result.",\n "type": "boolean"\n },\n "include_storage_fingerprints": {\n "default": false,\n "description": "Whether to include storage fingerprints in the result.",\n "type": "boolean"\n },\n "include_storage_keys": {\n "default": false,\n "description": "Whether to include storage keys in the result.",\n "type": "boolean"\n },\n "include_websocket_shapes": {\n "default": false,\n "description": "Whether to include websocket shapes in the result.",\n "type": "boolean"\n },\n "observation_ms": {\n "default": 500,\n "description": "Value for observation ms.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "target_id": {\n "description": "Exact CDP target identifier selected from the endpoint\'s target listing.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "cdp_endpoint",\n "target_id"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "allowed_origins": {\n "description": "Value for allowed origins.",\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "cdp_endpoint": {\n "description": "Literal loopback Chrome DevTools Protocol endpoint.",\n "minLength": 1,\n "type": "string"\n },\n "include_accessibility_text": {\n "default": false,\n "description": "Whether to include accessibility text in the result.",\n "type": "boolean"\n },\n "include_console_text": {\n "default": false,\n "description": "Whether to include console text in the result.",\n "type": "boolean"\n },\n "include_json_body_shapes": {\n "default": false,\n "description": "Whether to include json body shapes in the result.",\n "type": "boolean"\n },\n "include_script_sources": {\n "const": true,\n "default": true,\n "description": "Whether to include script sources in the result.",\n "type": "boolean"\n },\n "include_storage_fingerprints": {\n "default": false,\n "description": "Whether to include storage fingerprints in the result.",\n "type": "boolean"\n },\n "include_storage_keys": {\n "default": false,\n "description": "Whether to include storage keys in the result.",\n "type": "boolean"\n },\n "include_websocket_shapes": {\n "default": false,\n "description": "Whether to include websocket shapes in the result.",\n "type": "boolean"\n },\n "observation_ms": {\n "default": 500,\n "description": "Value for observation ms.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "target_id": {\n "description": "Exact CDP target identifier selected from the endpoint\'s target listing.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "cdp_endpoint",\n "target_id"\n ],\n "type": "object"\n }\n ],\n "examples": [\n {\n "cdp_endpoint": "http://127.0.0.1:9222",\n "target_id": "TARGET_ID_FROM_LIST_BROWSER_TARGETS"\n }\n ],\n "type": "object"\n },\n "kind": "browser-provider",\n "name": "inspect_web_page",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "accessibility": {\n "additionalProperties": false,\n "properties": {\n "nodes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "description": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "ignored": {\n "type": "boolean"\n },\n "name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "node_id": {\n "type": "string"\n },\n "parent_id": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "role": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "states": {\n "default": [],\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "type": "string"\n },\n "value": {\n "anyOf": [\n {\n "type": "boolean"\n },\n {\n "type": "number"\n },\n {\n "type": "string"\n }\n ]\n }\n },\n "required": [\n "name",\n "value"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "node_id",\n "parent_id",\n "role",\n "name",\n "description",\n "ignored",\n "states"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "text_capture": {\n "additionalProperties": false,\n "properties": {\n "excluded_fields": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "retained_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "status": {\n "enum": [\n "not_approved",\n "included",\n "unavailable"\n ],\n "type": "string"\n }\n },\n "required": [\n "status",\n "retained_bytes",\n "excluded_fields"\n ],\n "type": "object"\n },\n "total_nodes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "total_nodes",\n "text_capture",\n "nodes"\n ],\n "type": "object"\n },\n "browser": {\n "additionalProperties": false,\n "properties": {\n "js_version": {\n "type": "string"\n },\n "product": {\n "type": "string"\n },\n "protocol_version": {\n "type": "string"\n },\n "revision": {\n "type": "string"\n },\n "user_agent": {\n "type": "string"\n }\n },\n "required": [\n "product",\n "protocol_version",\n "revision",\n "user_agent",\n "js_version"\n ],\n "type": "object"\n },\n "capture_window": {\n "additionalProperties": false,\n "properties": {\n "ended_at": {\n "format": "date-time",\n "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))$",\n "type": "string"\n },\n "observation_ms": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "started_at": {\n "format": "date-time",\n "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))$",\n "type": "string"\n }\n },\n "required": [\n "started_at",\n "ended_at",\n "observation_ms"\n ],\n "type": "object"\n },\n "completeness": {\n "additionalProperties": false,\n "properties": {\n "attach_limited_sections": {\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "conditions": {\n "items": {\n "enum": [\n "complete_within_window",\n "policy_filtered",\n "attach_limited",\n "truncated"\n ],\n "type": "string"\n },\n "maxItems": 3,\n "minItems": 1,\n "type": "array"\n },\n "dropped_events": {\n "additionalProperties": false,\n "properties": {\n "console_events": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "network_requests": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "scripts": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "timeline_events": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "total": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "webmcp_tools": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "websocket_connections": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "websocket_frames": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "scripts",\n "network_requests",\n "console_events",\n "websocket_connections",\n "websocket_frames",\n "webmcp_tools",\n "timeline_events",\n "total"\n ],\n "type": "object"\n },\n "excluded": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "reason": {\n "enum": [\n "disallowed_origin",\n "unsupported_url",\n "unattributed_origin",\n "not_approved",\n "out_of_target_scope",\n "provider_unavailable",\n "invalid_protocol_value"\n ],\n "type": "string"\n },\n "section": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n }\n },\n "required": [\n "section",\n "reason",\n "count"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "policy_filtered_sections": {\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "status": {\n "enum": [\n "complete_within_window",\n "policy_filtered",\n "attach_limited",\n "truncated"\n ],\n "type": "string"\n },\n "truncated_sections": {\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "unavailable_sections": {\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n }\n },\n "required": [\n "status",\n "conditions",\n "policy_filtered_sections",\n "attach_limited_sections",\n "truncated_sections",\n "unavailable_sections",\n "excluded",\n "dropped_events"\n ],\n "type": "object"\n },\n "console": {\n "additionalProperties": false,\n "properties": {\n "coverage_started_at": {\n "format": "date-time",\n "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))$",\n "type": "string"\n },\n "events": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "argument_types": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "column": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "line": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "text_capture": {\n "additionalProperties": false,\n "properties": {\n "retained_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "status": {\n "enum": [\n "not_approved",\n "included"\n ],\n "type": "string"\n },\n "values": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "argument_index": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "text": {\n "type": "string"\n },\n "type": {\n "type": "string"\n }\n },\n "required": [\n "argument_index",\n "type",\n "text"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "status",\n "values",\n "retained_bytes"\n ],\n "type": "object"\n },\n "timestamp": {\n "type": "number"\n },\n "type": {\n "type": "string"\n },\n "url": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "type",\n "timestamp",\n "argument_types",\n "url",\n "line",\n "column",\n "text_capture"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "prior_activity_available": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "events",\n "coverage_started_at",\n "prior_activity_available"\n ],\n "type": "object"\n },\n "dom": {\n "additionalProperties": false,\n "properties": {\n "nodes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "attribute_names": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "index": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "node_name": {\n "type": "string"\n },\n "node_type": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "node_value_length": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "parent_index": {\n "maximum": 9007199254740991,\n "minimum": -1,\n "type": "integer"\n }\n },\n "required": [\n "index",\n "parent_index",\n "node_type",\n "node_name",\n "node_value_length",\n "attribute_names"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "total_nodes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "total_nodes",\n "nodes"\n ],\n "type": "object"\n },\n "frames": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "frame_id": {\n "type": "string"\n },\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "parent_frame_id": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "url": {\n "type": "string"\n }\n },\n "required": [\n "frame_id",\n "parent_frame_id",\n "url",\n "origin"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "metadata": {\n "additionalProperties": false,\n "properties": {\n "agent_hints": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "declaration": {\n "type": "string"\n },\n "mechanism": {\n "enum": [\n "link_rel",\n "dom_link_rel",\n "well_known_resource",\n "response_header"\n ],\n "type": "string"\n },\n "trust": {\n "const": "page-declared-untrusted",\n "type": "string"\n },\n "url": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "mechanism",\n "declaration",\n "url",\n "trust"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "dom_urls": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "attribute": {\n "enum": [\n "href",\n "src",\n "action",\n "formaction",\n "poster"\n ],\n "type": "string"\n },\n "destination_scope": {\n "enum": [\n "approved",\n "outside_policy",\n "unsupported"\n ],\n "type": "string"\n },\n "node_index": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "url": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "node_index",\n "attribute",\n "url",\n "destination_scope"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "excluded_dom_urls": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "headers_allowlisted": {\n "const": true,\n "type": "boolean"\n },\n "responses": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "content_encoding": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "content_length": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "csp": {\n "additionalProperties": false,\n "properties": {\n "directives": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "type": "string"\n },\n "sources": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "enum": [\n "keyword",\n "scheme",\n "approved_origin",\n "external_origin",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "kind",\n "value"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "name",\n "sources"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "hash_count": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "nonce_count": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "directives",\n "nonce_count",\n "hash_count"\n ],\n "type": "object"\n },\n "links": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "as": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "crossorigin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "destination_scope": {\n "enum": [\n "approved",\n "outside_policy",\n "unsupported"\n ],\n "type": "string"\n },\n "href": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "rel": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "href",\n "destination_scope",\n "rel",\n "as",\n "type",\n "crossorigin"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "mime_type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "policies": {\n "additionalProperties": false,\n "properties": {\n "coep": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "coop": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "corp": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "permissions_policy_features": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "referrer_policy": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "x_content_type_options": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "coop",\n "coep",\n "corp",\n "referrer_policy",\n "x_content_type_options",\n "permissions_policy_features"\n ],\n "type": "object"\n },\n "request_id": {\n "type": "string"\n },\n "url": {\n "type": "string"\n }\n },\n "required": [\n "request_id",\n "url",\n "mime_type",\n "content_length",\n "content_encoding",\n "csp",\n "links",\n "policies"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "responses",\n "dom_urls",\n "agent_hints",\n "excluded_dom_urls",\n "headers_allowlisted"\n ],\n "type": "object"\n },\n "network": {\n "additionalProperties": false,\n "properties": {\n "coverage_started_at": {\n "format": "date-time",\n "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))$",\n "type": "string"\n },\n "prior_activity_available": {\n "const": false,\n "type": "boolean"\n },\n "requests": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "body_shapes": {\n "additionalProperties": false,\n "properties": {\n "request": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "max_depth_observed": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "node_count": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "properties": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "observations": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "path": {\n "type": "string"\n },\n "types": {\n "items": {\n "enum": [\n "object",\n "array",\n "string",\n "number",\n "boolean",\n "null"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "path",\n "types",\n "observations"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "root_type": {\n "enum": [\n "object",\n "array",\n "string",\n "number",\n "boolean",\n "null"\n ],\n "type": "string"\n }\n },\n "required": [\n "root_type",\n "node_count",\n "max_depth_observed",\n "properties"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "response": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "max_depth_observed": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "node_count": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "properties": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "observations": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "path": {\n "type": "string"\n },\n "types": {\n "items": {\n "enum": [\n "object",\n "array",\n "string",\n "number",\n "boolean",\n "null"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "path",\n "types",\n "observations"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "root_type": {\n "enum": [\n "object",\n "array",\n "string",\n "number",\n "boolean",\n "null"\n ],\n "type": "string"\n }\n },\n "required": [\n "root_type",\n "node_count",\n "max_depth_observed",\n "properties"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "enum": [\n "not_approved",\n "included",\n "partial",\n "unavailable"\n ],\n "type": "string"\n }\n },\n "required": [\n "status",\n "request",\n "response"\n ],\n "type": "object"\n },\n "encoded_data_length": {\n "anyOf": [\n {\n "minimum": 0,\n "type": "number"\n },\n {\n "type": "null"\n }\n ]\n },\n "initiator": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "line": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "type": {\n "type": "string"\n },\n "url": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "type",\n "url",\n "line",\n "column"\n ],\n "type": "object"\n },\n "method": {\n "type": "string"\n },\n "mime_type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "request_id": {\n "type": "string"\n },\n "resource_type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "anyOf": [\n {\n "type": "number"\n },\n {\n "type": "null"\n }\n ]\n },\n "url": {\n "type": "string"\n }\n },\n "required": [\n "request_id",\n "url",\n "origin",\n "method",\n "resource_type",\n "status",\n "mime_type",\n "encoded_data_length",\n "initiator",\n "body_shapes"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "websocket_events": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "direction": {\n "enum": [\n "sent",\n "received"\n ],\n "type": "string"\n },\n "opcode": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "payload_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "payload_shape": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "format": {\n "enum": [\n "json",\n "text",\n "binary"\n ],\n "type": "string"\n },\n "json_shape": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "max_depth_observed": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "node_count": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "properties": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "observations": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "path": {\n "type": "string"\n },\n "types": {\n "items": {\n "enum": [\n "object",\n "array",\n "string",\n "number",\n "boolean",\n "null"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "path",\n "types",\n "observations"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "root_type": {\n "enum": [\n "object",\n "array",\n "string",\n "number",\n "boolean",\n "null"\n ],\n "type": "string"\n }\n },\n "required": [\n "root_type",\n "node_count",\n "max_depth_observed",\n "properties"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "format",\n "json_shape"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "request_id": {\n "type": "string"\n }\n },\n "required": [\n "request_id",\n "direction",\n "opcode",\n "payload_bytes",\n "payload_shape"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "requests",\n "websocket_events",\n "coverage_started_at",\n "prior_activity_available"\n ],\n "type": "object"\n },\n "resources": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "content_size": {\n "anyOf": [\n {\n "minimum": 0,\n "type": "number"\n },\n {\n "type": "null"\n }\n ]\n },\n "mime_type": {\n "type": "string"\n },\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "resource_key": {\n "pattern": "^res_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": {\n "type": "string"\n },\n "url": {\n "type": "string"\n }\n },\n "required": [\n "resource_key",\n "url",\n "origin",\n "type",\n "mime_type",\n "content_size"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "scripts": {\n "additionalProperties": false,\n "properties": {\n "items": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "cdp_hash": {\n "type": "string"\n },\n "frame_id": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "is_module": {\n "type": "boolean"\n },\n "language": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "length": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "resource_reconciliation": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "resource_key": {\n "type": "string"\n },\n "status": {\n "const": "exact",\n "type": "string"\n }\n },\n "required": [\n "status",\n "resource_key"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "candidate_resource_keys": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "status": {\n "const": "ambiguous",\n "type": "string"\n }\n },\n "required": [\n "status",\n "candidate_resource_keys"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "const": "no_exact_sanitized_url",\n "type": "string"\n },\n "status": {\n "const": "unmatched",\n "type": "string"\n }\n },\n "required": [\n "status",\n "reason"\n ],\n "type": "object"\n }\n ]\n },\n "script_key": {\n "pattern": "^scr_[a-f0-9]{64}(?:_[0-9]+)?$",\n "type": "string"\n },\n "source": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "included": {\n "const": false,\n "type": "boolean"\n },\n "reason": {\n "type": "string"\n }\n },\n "required": [\n "included",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "artifact": {\n "additionalProperties": false,\n "properties": {\n "bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "charset": {\n "const": "utf-8",\n "type": "string"\n },\n "media_type": {\n "minLength": 1,\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "text": {\n "type": "string"\n }\n },\n "required": [\n "sha256",\n "bytes",\n "media_type",\n "charset",\n "text"\n ],\n "type": "object"\n },\n "included": {\n "const": true,\n "type": "boolean"\n }\n },\n "required": [\n "included",\n "artifact"\n ],\n "type": "object"\n }\n ]\n },\n "source_map_url": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "url": {\n "type": "string"\n }\n },\n "required": [\n "script_key",\n "frame_id",\n "url",\n "origin",\n "cdp_hash",\n "length",\n "is_module",\n "language",\n "source_map_url",\n "resource_reconciliation",\n "source"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "total": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "total",\n "items"\n ],\n "type": "object"\n },\n "storage": {\n "additionalProperties": false,\n "properties": {\n "cache_names": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "content_fingerprints": {\n "default": [],\n "items": {\n "additionalProperties": false,\n "properties": {\n "complete": {\n "type": "boolean"\n },\n "identity_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "scope": {\n "enum": [\n "cookie",\n "local_storage",\n "session_storage",\n "indexed_db_schema",\n "indexed_db_record",\n "cache_entry"\n ],\n "type": "string"\n },\n "value_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "scope",\n "identity_sha256",\n "value_sha256",\n "complete"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "fingerprint_algorithm": {\n "const": "sha256",\n "default": "sha256",\n "type": "string"\n },\n "fingerprints_complete": {\n "default": false,\n "type": "boolean"\n },\n "indexed_db_names": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "local_storage_keys": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "origin": {\n "type": "string"\n },\n "quota_bytes": {\n "anyOf": [\n {\n "minimum": 0,\n "type": "number"\n },\n {\n "type": "null"\n }\n ]\n },\n "session_storage_keys": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "usage_bytes": {\n "anyOf": [\n {\n "minimum": 0,\n "type": "number"\n },\n {\n "type": "null"\n }\n ]\n },\n "values_redacted": {\n "const": true,\n "type": "boolean"\n }\n },\n "required": [\n "origin",\n "usage_bytes",\n "quota_bytes",\n "local_storage_keys",\n "session_storage_keys",\n "indexed_db_names",\n "cache_names",\n "content_fingerprints",\n "fingerprint_algorithm",\n "fingerprints_complete",\n "values_redacted"\n ],\n "type": "object"\n },\n "target": {\n "additionalProperties": false,\n "properties": {\n "attached": {\n "type": "boolean"\n },\n "origin": {\n "type": "string"\n },\n "target_id": {\n "type": "string"\n },\n "title": {\n "type": "string"\n },\n "type": {\n "type": "string"\n },\n "url": {\n "type": "string"\n }\n },\n "required": [\n "target_id",\n "type",\n "title",\n "url",\n "origin",\n "attached"\n ],\n "type": "object"\n },\n "workers": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "attached": {\n "type": "boolean"\n },\n "opener_target_id": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "parent_frame_id": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "target_id": {\n "type": "string"\n },\n "type": {\n "type": "string"\n },\n "url": {\n "type": "string"\n }\n },\n "required": [\n "target_id",\n "type",\n "url",\n "origin",\n "attached",\n "opener_target_id",\n "parent_frame_id"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "browser",\n "target",\n "capture_window",\n "completeness",\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "resources",\n "network",\n "console",\n "workers",\n "metadata",\n "storage",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Inspect Web Page"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": true,\n "readOnlyHint": false\n },\n "description": "Capture JavaScript source from one selected CDP page and statically derive a chunk graph, route and endpoint candidates, vendor fingerprints, page-declared WebMCP metadata, and optionally fetch source maps from the selected target origin or explicitly requested origins. JavaScript is parsed but never executed.",\n "effects": {\n "accessesNetwork": true,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "cdp_endpoint": "http://127.0.0.1:9222",\n "fetch_source_maps": false,\n "include_accessibility_text": false,\n "include_script_sources": true,\n "include_storage_keys": false,\n "observation_ms": 500,\n "target_id": "TARGET_ID_FROM_LIST_BROWSER_TARGETS"\n }\n ],\n "properties": {\n "allowed_origins": {\n "description": "Value for allowed origins.",\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "cdp_endpoint": {\n "description": "Literal loopback Chrome DevTools Protocol endpoint.",\n "minLength": 1,\n "type": "string"\n },\n "fetch_source_maps": {\n "default": false,\n "description": "Value for fetch source maps.",\n "type": "boolean"\n },\n "include_accessibility_text": {\n "default": false,\n "description": "Whether to include accessibility text in the result.",\n "type": "boolean"\n },\n "include_console_text": {\n "default": false,\n "description": "Whether to include console text in the result.",\n "type": "boolean"\n },\n "include_json_body_shapes": {\n "default": false,\n "description": "Whether to include json body shapes in the result.",\n "type": "boolean"\n },\n "include_script_sources": {\n "const": true,\n "default": true,\n "description": "Whether to include script sources in the result.",\n "type": "boolean"\n },\n "include_storage_fingerprints": {\n "default": false,\n "description": "Whether to include storage fingerprints in the result.",\n "type": "boolean"\n },\n "include_storage_keys": {\n "default": false,\n "description": "Whether to include storage keys in the result.",\n "type": "boolean"\n },\n "include_websocket_shapes": {\n "default": false,\n "description": "Whether to include websocket shapes in the result.",\n "type": "boolean"\n },\n "observation_ms": {\n "default": 500,\n "description": "Value for observation ms.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "target_id": {\n "description": "Exact CDP target identifier selected from the endpoint\'s target listing.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "cdp_endpoint",\n "target_id"\n ],\n "type": "object"\n },\n "kind": "browser-provider",\n "name": "analyze_web_bundle",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "capture": {\n "additionalProperties": false,\n "properties": {\n "scripts_analyzed": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "scripts_observed": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "source_artifacts": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "charset": {\n "const": "utf-8",\n "type": "string"\n },\n "media_type": {\n "minLength": 1,\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "text_available": {\n "const": true,\n "type": "boolean"\n }\n },\n "required": [\n "sha256",\n "bytes",\n "media_type",\n "charset",\n "text_available"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "target_url": {\n "type": "string"\n }\n },\n "required": [\n "target_url",\n "scripts_observed",\n "scripts_analyzed",\n "source_artifacts"\n ],\n "type": "object"\n },\n "completeness": {\n "additionalProperties": false,\n "properties": {\n "parse_failures": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "parsed_scripts": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "status": {\n "enum": [\n "complete",\n "partial"\n ],\n "type": "string"\n },\n "visited_ast_nodes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "status",\n "parsed_scripts",\n "parse_failures",\n "visited_ast_nodes"\n ],\n "type": "object"\n },\n "inferences": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "basis": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "artifact_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "column": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "detector": {\n "type": "string"\n },\n "line": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "script_key": {\n "type": "string"\n }\n },\n "required": [\n "script_key",\n "artifact_sha256",\n "line",\n "column",\n "detector"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "confidence": {\n "enum": [\n "low",\n "medium",\n "high"\n ],\n "type": "string"\n },\n "kind": {\n "enum": [\n "vendor_fingerprint",\n "route_framework",\n "bundle_runtime"\n ],\n "type": "string"\n },\n "value": {\n "type": "string"\n }\n },\n "required": [\n "kind",\n "value",\n "confidence",\n "basis"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "observations": {\n "additionalProperties": false,\n "properties": {\n "chunks": {\n "additionalProperties": false,\n "properties": {\n "edges": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "from_script_key": {\n "type": "string"\n },\n "kind": {\n "enum": [\n "static_import",\n "dynamic_import",\n "require",\n "worker_import"\n ],\n "type": "string"\n },\n "location": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "line": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "script_key": {\n "type": "string"\n }\n },\n "required": [\n "script_key",\n "line",\n "column"\n ],\n "type": "object"\n },\n "resolved_url": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "specifier": {\n "type": "string"\n }\n },\n "required": [\n "from_script_key",\n "kind",\n "specifier",\n "resolved_url",\n "location"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "nodes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "artifact_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "script_key": {\n "type": "string"\n },\n "url": {\n "type": "string"\n }\n },\n "required": [\n "script_key",\n "url",\n "artifact_sha256",\n "bytes"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "nodes",\n "edges"\n ],\n "type": "object"\n },\n "endpoints": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "location": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "line": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "script_key": {\n "type": "string"\n }\n },\n "required": [\n "script_key",\n "line",\n "column"\n ],\n "type": "object"\n },\n "mechanism": {\n "type": "string"\n },\n "value": {\n "type": "string"\n }\n },\n "required": [\n "value",\n "mechanism",\n "location"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "routes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "location": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "line": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "script_key": {\n "type": "string"\n }\n },\n "required": [\n "script_key",\n "line",\n "column"\n ],\n "type": "object"\n },\n "mechanism": {\n "type": "string"\n },\n "value": {\n "type": "string"\n }\n },\n "required": [\n "value",\n "mechanism",\n "location"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "source_maps": {\n "additionalProperties": false,\n "properties": {\n "items": {\n "items": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "artifact": {\n "additionalProperties": false,\n "properties": {\n "bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "charset": {\n "const": "utf-8",\n "type": "string"\n },\n "media_type": {\n "minLength": 1,\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "text": {\n "type": "string"\n }\n },\n "required": [\n "sha256",\n "bytes",\n "media_type",\n "charset",\n "text"\n ],\n "type": "object"\n },\n "declared_url": {\n "type": "string"\n },\n "limitation": {\n "type": "null"\n },\n "mappings": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "generated_column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "generated_line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "original_column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "original_line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "source": {\n "type": "string"\n }\n },\n "required": [\n "generated_line",\n "generated_column",\n "source",\n "original_line",\n "original_column",\n "name"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "original_module_edges": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "from_source": {\n "type": "string"\n },\n "kind": {\n "enum": [\n "static_import",\n "dynamic_import",\n "require"\n ],\n "type": "string"\n },\n "resolved_source": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "specifier": {\n "type": "string"\n }\n },\n "required": [\n "from_source",\n "kind",\n "specifier",\n "resolved_source"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "original_sources": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "artifact": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "charset": {\n "const": "utf-8",\n "type": "string"\n },\n "media_type": {\n "minLength": 1,\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "text": {\n "type": "string"\n }\n },\n "required": [\n "sha256",\n "bytes",\n "media_type",\n "charset",\n "text"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "source": {\n "type": "string"\n }\n },\n "required": [\n "source",\n "artifact"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "script_key": {\n "type": "string"\n },\n "status": {\n "const": "included",\n "type": "string"\n }\n },\n "required": [\n "script_key",\n "declared_url",\n "artifact",\n "original_sources",\n "original_module_edges",\n "mappings",\n "status",\n "limitation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "artifact": {\n "additionalProperties": false,\n "properties": {\n "bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "charset": {\n "const": "utf-8",\n "type": "string"\n },\n "media_type": {\n "minLength": 1,\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "text": {\n "type": "string"\n }\n },\n "required": [\n "sha256",\n "bytes",\n "media_type",\n "charset",\n "text"\n ],\n "type": "object"\n },\n "declared_url": {\n "type": "string"\n },\n "limitation": {\n "type": "string"\n },\n "mappings": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "generated_column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "generated_line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "original_column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "original_line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "source": {\n "type": "string"\n }\n },\n "required": [\n "generated_line",\n "generated_column",\n "source",\n "original_line",\n "original_column",\n "name"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "original_module_edges": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "from_source": {\n "type": "string"\n },\n "kind": {\n "enum": [\n "static_import",\n "dynamic_import",\n "require"\n ],\n "type": "string"\n },\n "resolved_source": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "specifier": {\n "type": "string"\n }\n },\n "required": [\n "from_source",\n "kind",\n "specifier",\n "resolved_source"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "original_sources": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "artifact": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "charset": {\n "const": "utf-8",\n "type": "string"\n },\n "media_type": {\n "minLength": 1,\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "text": {\n "type": "string"\n }\n },\n "required": [\n "sha256",\n "bytes",\n "media_type",\n "charset",\n "text"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "source": {\n "type": "string"\n }\n },\n "required": [\n "source",\n "artifact"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "script_key": {\n "type": "string"\n },\n "status": {\n "const": "partial",\n "type": "string"\n }\n },\n "required": [\n "script_key",\n "declared_url",\n "artifact",\n "original_sources",\n "original_module_edges",\n "mappings",\n "status",\n "limitation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "artifact": {\n "type": "null"\n },\n "declared_url": {\n "type": "string"\n },\n "limitation": {\n "type": "string"\n },\n "mappings": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "original_module_edges": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "original_sources": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "script_key": {\n "type": "string"\n },\n "status": {\n "enum": [\n "fetch_failed",\n "invalid",\n "policy_filtered"\n ],\n "type": "string"\n }\n },\n "required": [\n "script_key",\n "declared_url",\n "artifact",\n "original_sources",\n "original_module_edges",\n "mappings",\n "status",\n "limitation"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "processed": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "requested": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "status": {\n "enum": [\n "not_requested",\n "included",\n "partial",\n "unavailable"\n ],\n "type": "string"\n }\n },\n "required": [\n "status",\n "requested",\n "processed",\n "items"\n ],\n "type": "object"\n },\n "webmcp_declarations": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "description": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "location": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "line": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "script_key": {\n "type": "string"\n }\n },\n "required": [\n "script_key",\n "line",\n "column"\n ],\n "type": "object"\n },\n "name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "schema_property_names": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "trust": {\n "const": "page-declared-untrusted",\n "type": "string"\n }\n },\n "required": [\n "name",\n "description",\n "schema_property_names",\n "trust",\n "location"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "chunks",\n "routes",\n "endpoints",\n "webmcp_declarations",\n "source_maps"\n ],\n "type": "object"\n },\n "unknowns": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "affected_script_keys": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "dimension": {\n "type": "string"\n },\n "reason": {\n "type": "string"\n }\n },\n "required": [\n "dimension",\n "reason",\n "affected_script_keys"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "capture",\n "observations",\n "inferences",\n "unknowns",\n "completeness",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Analyze Web Bundle"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": true,\n "readOnlyHint": false\n },\n "description": "Arm a CDP observation window of the requested duration while the user operates the page. By default it follows the selected target\'s current origin; an explicit origin list controls which origins may be retained. Records navigation, redirect, lifecycle, and failure events.",\n "effects": {\n "accessesNetwork": true,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "cdp_endpoint": "http://127.0.0.1:9222",\n "observation_ms": 10000,\n "target_id": "TARGET_ID_FROM_LIST_BROWSER_TARGETS"\n }\n ],\n "properties": {\n "allowed_origins": {\n "description": "Value for allowed origins.",\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "cdp_endpoint": {\n "description": "Literal loopback Chrome DevTools Protocol endpoint.",\n "minLength": 1,\n "type": "string"\n },\n "observation_ms": {\n "default": 10000,\n "description": "Value for observation ms.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "target_id": {\n "description": "Exact CDP target identifier selected from the endpoint\'s target listing.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "cdp_endpoint",\n "target_id"\n ],\n "type": "object"\n },\n "kind": "browser-provider",\n "name": "observe_web_session",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "browser": {\n "additionalProperties": false,\n "properties": {\n "js_version": {\n "type": "string"\n },\n "product": {\n "type": "string"\n },\n "protocol_version": {\n "type": "string"\n },\n "revision": {\n "type": "string"\n },\n "user_agent": {\n "type": "string"\n }\n },\n "required": [\n "product",\n "protocol_version",\n "revision",\n "user_agent",\n "js_version"\n ],\n "type": "object"\n },\n "completeness": {\n "additionalProperties": false,\n "properties": {\n "attach_limited_sections": {\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "conditions": {\n "items": {\n "enum": [\n "complete_within_window",\n "policy_filtered",\n "attach_limited",\n "truncated"\n ],\n "type": "string"\n },\n "maxItems": 3,\n "minItems": 1,\n "type": "array"\n },\n "dropped_events": {\n "additionalProperties": false,\n "properties": {\n "console_events": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "network_requests": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "scripts": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "timeline_events": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "total": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "webmcp_tools": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "websocket_connections": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "websocket_frames": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "scripts",\n "network_requests",\n "console_events",\n "websocket_connections",\n "websocket_frames",\n "webmcp_tools",\n "timeline_events",\n "total"\n ],\n "type": "object"\n },\n "excluded": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "reason": {\n "enum": [\n "disallowed_origin",\n "unsupported_url",\n "unattributed_origin",\n "not_approved",\n "out_of_target_scope",\n "provider_unavailable",\n "invalid_protocol_value"\n ],\n "type": "string"\n },\n "section": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n }\n },\n "required": [\n "section",\n "reason",\n "count"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "policy_filtered_sections": {\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "status": {\n "enum": [\n "complete_within_window",\n "policy_filtered",\n "attach_limited",\n "truncated"\n ],\n "type": "string"\n },\n "truncated_sections": {\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "unavailable_sections": {\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n }\n },\n "required": [\n "status",\n "conditions",\n "policy_filtered_sections",\n "attach_limited_sections",\n "truncated_sections",\n "unavailable_sections",\n "excluded",\n "dropped_events"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "target": {\n "additionalProperties": false,\n "properties": {\n "final_url": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "initial_url": {\n "type": "string"\n },\n "target_id": {\n "type": "string"\n }\n },\n "required": [\n "target_id",\n "initial_url",\n "final_url"\n ],\n "type": "object"\n },\n "timeline": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "destination_scope": {\n "anyOf": [\n {\n "enum": [\n "approved",\n "outside_policy",\n "unsupported"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "detail": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "frame_id": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "loader_id": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "request_id": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "sequence": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "timestamp": {\n "minimum": 0,\n "type": "number"\n },\n "type": {\n "enum": [\n "navigation_requested",\n "navigation_committed",\n "same_origin_reload",\n "same_document_navigation",\n "redirect",\n "load_failed",\n "lifecycle",\n "target_terminated"\n ],\n "type": "string"\n },\n "url": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "sequence",\n "type",\n "timestamp",\n "frame_id",\n "loader_id",\n "request_id",\n "url",\n "destination_scope",\n "detail"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "window": {\n "additionalProperties": false,\n "properties": {\n "armed_at": {\n "format": "date-time",\n "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))$",\n "type": "string"\n },\n "end_reason": {\n "enum": [\n "window_elapsed",\n "target_left_scope",\n "target_terminated"\n ],\n "type": "string"\n },\n "ended_at": {\n "format": "date-time",\n "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))$",\n "type": "string"\n },\n "requested_ms": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "armed_at",\n "ended_at",\n "requested_ms",\n "end_reason"\n ],\n "type": "object"\n }\n },\n "required": [\n "browser",\n "target",\n "window",\n "timeline",\n "completeness",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Observe Web Session"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": true,\n "readOnlyHint": false\n },\n "description": "Passively inventory every page-registered WebMCP tool and its complete structural input-schema summary using the experimental CDP WebMCP domain. Metadata is page-declared-untrusted; REA never registers or invokes discovered tools.",\n "effects": {\n "accessesNetwork": true,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "cdp_endpoint": "http://127.0.0.1:9222",\n "observation_ms": 100,\n "target_id": "TARGET_ID_FROM_LIST_BROWSER_TARGETS"\n }\n ],\n "properties": {\n "allowed_origins": {\n "description": "Value for allowed origins.",\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "cdp_endpoint": {\n "description": "Literal loopback Chrome DevTools Protocol endpoint.",\n "minLength": 1,\n "type": "string"\n },\n "observation_ms": {\n "default": 100,\n "description": "Value for observation ms.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "target_id": {\n "description": "Exact CDP target identifier selected from the endpoint\'s target listing.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "cdp_endpoint",\n "target_id"\n ],\n "type": "object"\n },\n "kind": "browser-provider",\n "name": "discover_webmcp_tools",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "browser": {\n "additionalProperties": false,\n "properties": {\n "js_version": {\n "type": "string"\n },\n "product": {\n "type": "string"\n },\n "protocol_version": {\n "type": "string"\n },\n "revision": {\n "type": "string"\n },\n "user_agent": {\n "type": "string"\n }\n },\n "required": [\n "product",\n "protocol_version",\n "revision",\n "user_agent",\n "js_version"\n ],\n "type": "object"\n },\n "completeness": {\n "additionalProperties": false,\n "properties": {\n "attach_limited_sections": {\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "conditions": {\n "items": {\n "enum": [\n "complete_within_window",\n "policy_filtered",\n "attach_limited",\n "truncated"\n ],\n "type": "string"\n },\n "maxItems": 3,\n "minItems": 1,\n "type": "array"\n },\n "dropped_events": {\n "additionalProperties": false,\n "properties": {\n "console_events": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "network_requests": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "scripts": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "timeline_events": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "total": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "webmcp_tools": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "websocket_connections": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "websocket_frames": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "scripts",\n "network_requests",\n "console_events",\n "websocket_connections",\n "websocket_frames",\n "webmcp_tools",\n "timeline_events",\n "total"\n ],\n "type": "object"\n },\n "excluded": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "reason": {\n "enum": [\n "disallowed_origin",\n "unsupported_url",\n "unattributed_origin",\n "not_approved",\n "out_of_target_scope",\n "provider_unavailable",\n "invalid_protocol_value"\n ],\n "type": "string"\n },\n "section": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n }\n },\n "required": [\n "section",\n "reason",\n "count"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "policy_filtered_sections": {\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "status": {\n "enum": [\n "complete_within_window",\n "policy_filtered",\n "attach_limited",\n "truncated"\n ],\n "type": "string"\n },\n "truncated_sections": {\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "unavailable_sections": {\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n }\n },\n "required": [\n "status",\n "conditions",\n "policy_filtered_sections",\n "attach_limited_sections",\n "truncated_sections",\n "unavailable_sections",\n "excluded",\n "dropped_events"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "status": {\n "enum": [\n "available",\n "unavailable"\n ],\n "type": "string"\n },\n "target": {\n "additionalProperties": false,\n "properties": {\n "origin": {\n "type": "string"\n },\n "target_id": {\n "type": "string"\n },\n "url": {\n "type": "string"\n }\n },\n "required": [\n "target_id",\n "url",\n "origin"\n ],\n "type": "object"\n },\n "tools": {\n "additionalProperties": false,\n "properties": {\n "items": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "annotations": {\n "additionalProperties": false,\n "properties": {\n "autosubmit": {\n "anyOf": [\n {\n "type": "boolean"\n },\n {\n "type": "null"\n }\n ]\n },\n "read_only": {\n "anyOf": [\n {\n "type": "boolean"\n },\n {\n "type": "null"\n }\n ]\n },\n "untrusted_content": {\n "anyOf": [\n {\n "type": "boolean"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "read_only",\n "untrusted_content",\n "autosubmit"\n ],\n "type": "object"\n },\n "declaration_kind": {\n "enum": [\n "declarative",\n "imperative"\n ],\n "type": "string"\n },\n "description": {\n "type": "string"\n },\n "frame_id": {\n "type": "string"\n },\n "frame_url": {\n "type": "string"\n },\n "input_schema_shape": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "max_depth_observed": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "node_count": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "properties": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "observations": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "path": {\n "type": "string"\n },\n "types": {\n "items": {\n "enum": [\n "object",\n "array",\n "string",\n "number",\n "boolean",\n "null"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "path",\n "types",\n "observations"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "root_type": {\n "enum": [\n "object",\n "array",\n "string",\n "number",\n "boolean",\n "null"\n ],\n "type": "string"\n }\n },\n "required": [\n "root_type",\n "node_count",\n "max_depth_observed",\n "properties"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "type": "string"\n },\n "owner_origin": {\n "type": "string"\n },\n "registration_source": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "column": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "line": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "url": {\n "type": "string"\n }\n },\n "required": [\n "url",\n "line",\n "column"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "tool_key": {\n "pattern": "^webmcp_[a-f0-9]{64}$",\n "type": "string"\n },\n "trust": {\n "const": "page-declared-untrusted",\n "type": "string"\n }\n },\n "required": [\n "tool_key",\n "name",\n "description",\n "frame_id",\n "frame_url",\n "owner_origin",\n "declaration_kind",\n "input_schema_shape",\n "annotations",\n "registration_source",\n "trust"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "total": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "total",\n "items"\n ],\n "type": "object"\n }\n },\n "required": [\n "browser",\n "target",\n "status",\n "tools",\n "completeness",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Discover Webmcp Tools"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Compare passive web captures by providing before and after, or compare recorded scenarios by providing before_scenario and after_scenario with an optional normalization policy. Use exactly one input group. Scenario comparison aligns exact step IDs, records deterministic literal normalization, and returns every artifact-level difference plus alignment failures inline. Missing or truncated evidence never proves equality.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "after_scenario": {\n "browser": {\n "cleanup": "disconnected-external",\n "mode": "connect",\n "process_ownership": "external",\n "product": "Chromium",\n "version": "149"\n },\n "completeness": {\n "equality_eligible": true,\n "missing_sections": [],\n "status": "complete",\n "truncated_sections": []\n },\n "duration_ms": 10,\n "events": {\n "dropped": 0,\n "items": [],\n "retained": 0\n },\n "limitations": [],\n "scenario": {\n "action_count": 1,\n "secret_references": [],\n "start_origin": "https://app.example.test"\n },\n "steps": [\n {\n "action": "scenario_start",\n "after_url": {\n "origin": "https://app.example.test",\n "query_parameter_names": [],\n "redacted": false,\n "url": "https://app.example.test/"\n },\n "artifacts": {\n "accessibility": {\n "state": "not_requested"\n },\n "dom": {\n "state": "not_requested"\n },\n "history": {\n "state": "not_requested"\n },\n "screenshot": {\n "state": "not_requested"\n },\n "storage": {\n "state": "not_requested"\n },\n "url": {\n "state": "not_requested"\n }\n },\n "before_url": {\n "origin": "https://app.example.test",\n "query_parameter_names": [],\n "redacted": false,\n "url": "https://app.example.test/"\n },\n "completeness": {\n "equality_eligible": true,\n "missing_sections": [],\n "status": "complete",\n "truncated_sections": []\n },\n "elapsed_ms": 0,\n "error": null,\n "event_sequence_end": 0,\n "event_sequence_start": 1,\n "status": "completed",\n "step_id": "scenario_start",\n "step_index": 0\n },\n {\n "action": "click",\n "after_url": {\n "origin": "https://app.example.test",\n "query_parameter_names": [],\n "redacted": false,\n "url": "https://app.example.test/"\n },\n "artifacts": {\n "accessibility": {\n "state": "not_requested"\n },\n "dom": {\n "state": "not_requested"\n },\n "history": {\n "state": "not_requested"\n },\n "screenshot": {\n "state": "not_requested"\n },\n "storage": {\n "state": "not_requested"\n },\n "url": {\n "state": "not_requested"\n }\n },\n "before_url": {\n "origin": "https://app.example.test",\n "query_parameter_names": [],\n "redacted": false,\n "url": "https://app.example.test/"\n },\n "completeness": {\n "equality_eligible": true,\n "missing_sections": [],\n "status": "complete",\n "truncated_sections": []\n },\n "elapsed_ms": 10,\n "error": null,\n "event_sequence_end": 0,\n "event_sequence_start": 1,\n "status": "completed",\n "step_id": "open-settings",\n "step_index": 1\n }\n ]\n },\n "before_scenario": {\n "browser": {\n "cleanup": "disconnected-external",\n "mode": "connect",\n "process_ownership": "external",\n "product": "Chromium",\n "version": "149"\n },\n "completeness": {\n "equality_eligible": true,\n "missing_sections": [],\n "status": "complete",\n "truncated_sections": []\n },\n "duration_ms": 10,\n "events": {\n "dropped": 0,\n "items": [],\n "retained": 0\n },\n "limitations": [],\n "scenario": {\n "action_count": 1,\n "secret_references": [],\n "start_origin": "https://app.example.test"\n },\n "steps": [\n {\n "action": "scenario_start",\n "after_url": {\n "origin": "https://app.example.test",\n "query_parameter_names": [],\n "redacted": false,\n "url": "https://app.example.test/"\n },\n "artifacts": {\n "accessibility": {\n "state": "not_requested"\n },\n "dom": {\n "state": "not_requested"\n },\n "history": {\n "state": "not_requested"\n },\n "screenshot": {\n "state": "not_requested"\n },\n "storage": {\n "state": "not_requested"\n },\n "url": {\n "state": "not_requested"\n }\n },\n "before_url": {\n "origin": "https://app.example.test",\n "query_parameter_names": [],\n "redacted": false,\n "url": "https://app.example.test/"\n },\n "completeness": {\n "equality_eligible": true,\n "missing_sections": [],\n "status": "complete",\n "truncated_sections": []\n },\n "elapsed_ms": 0,\n "error": null,\n "event_sequence_end": 0,\n "event_sequence_start": 1,\n "status": "completed",\n "step_id": "scenario_start",\n "step_index": 0\n },\n {\n "action": "click",\n "after_url": {\n "origin": "https://app.example.test",\n "query_parameter_names": [],\n "redacted": false,\n "url": "https://app.example.test/"\n },\n "artifacts": {\n "accessibility": {\n "state": "not_requested"\n },\n "dom": {\n "state": "not_requested"\n },\n "history": {\n "state": "not_requested"\n },\n "screenshot": {\n "state": "not_requested"\n },\n "storage": {\n "state": "not_requested"\n },\n "url": {\n "state": "not_requested"\n }\n },\n "before_url": {\n "origin": "https://app.example.test",\n "query_parameter_names": [],\n "redacted": false,\n "url": "https://app.example.test/"\n },\n "completeness": {\n "equality_eligible": true,\n "missing_sections": [],\n "status": "complete",\n "truncated_sections": []\n },\n "elapsed_ms": 10,\n "error": null,\n "event_sequence_end": 0,\n "event_sequence_start": 1,\n "status": "completed",\n "step_id": "open-settings",\n "step_index": 1\n }\n ]\n },\n "normalization": {\n "rules": [\n {\n "artifacts": [\n "dom",\n "accessibility"\n ],\n "match": "build-123",\n "replacement": "[BUILD_ID]",\n "rule_id": "volatile-build-id"\n }\n ]\n }\n }\n ],\n "properties": {\n "after": {\n "description": "Later passive web-page capture.",\n "properties": {\n "inspection": {\n "description": "Value for inspection.",\n "properties": {\n "accessibility": {\n "description": "Value for accessibility.",\n "properties": {\n "nodes": {\n "description": "Value for nodes.",\n "items": {\n "properties": {\n "description": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for description."\n },\n "ignored": {\n "description": "Value for ignored.",\n "type": "boolean"\n },\n "name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Exact name used by this operation."\n },\n "node_id": {\n "description": "Value for node id.",\n "type": "string"\n },\n "parent_id": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for parent id."\n },\n "role": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for role."\n },\n "states": {\n "default": [],\n "description": "Value for states.",\n "items": {\n "properties": {\n "name": {\n "description": "Exact name used by this operation.",\n "type": "string"\n },\n "value": {\n "anyOf": [\n {\n "type": "boolean"\n },\n {\n "type": "number"\n },\n {\n "type": "string"\n }\n ],\n "description": "Value for value."\n }\n },\n "required": [\n "name",\n "value"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "node_id",\n "parent_id",\n "role",\n "name",\n "description",\n "ignored"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "text_capture": {\n "description": "Value for text capture.",\n "properties": {\n "excluded_fields": {\n "description": "Value for excluded fields.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "retained_bytes": {\n "description": "Byte count for retained.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "status": {\n "description": "Current lifecycle or verification status.",\n "enum": [\n "not_approved",\n "included",\n "unavailable"\n ],\n "type": "string"\n }\n },\n "required": [\n "status",\n "retained_bytes",\n "excluded_fields"\n ],\n "type": "object"\n },\n "total_nodes": {\n "description": "Value for total nodes.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "total_nodes",\n "text_capture",\n "nodes"\n ],\n "type": "object"\n },\n "browser": {\n "description": "Value for browser.",\n "properties": {\n "js_version": {\n "description": "Value for js version.",\n "type": "string"\n },\n "product": {\n "description": "Value for product.",\n "type": "string"\n },\n "protocol_version": {\n "description": "Value for protocol version.",\n "type": "string"\n },\n "revision": {\n "description": "Value for revision.",\n "type": "string"\n },\n "user_agent": {\n "description": "Value for user agent.",\n "type": "string"\n }\n },\n "required": [\n "product",\n "protocol_version",\n "revision",\n "user_agent",\n "js_version"\n ],\n "type": "object"\n },\n "capture_window": {\n "description": "Value for capture window.",\n "properties": {\n "ended_at": {\n "description": "Value for ended at.",\n "format": "date-time",\n "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))$",\n "type": "string"\n },\n "observation_ms": {\n "description": "Value for observation ms.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "started_at": {\n "description": "Value for started at.",\n "format": "date-time",\n "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))$",\n "type": "string"\n }\n },\n "required": [\n "started_at",\n "ended_at",\n "observation_ms"\n ],\n "type": "object"\n },\n "completeness": {\n "description": "Value for completeness.",\n "properties": {\n "attach_limited_sections": {\n "description": "Value for attach limited sections.",\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "conditions": {\n "description": "Value for conditions.",\n "items": {\n "enum": [\n "complete_within_window",\n "policy_filtered",\n "attach_limited",\n "truncated"\n ],\n "type": "string"\n },\n "maxItems": 3,\n "minItems": 1,\n "type": "array"\n },\n "dropped_events": {\n "description": "Value for dropped events.",\n "properties": {\n "console_events": {\n "description": "Value for console events.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "network_requests": {\n "description": "Value for network requests.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "scripts": {\n "description": "Value for scripts.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "timeline_events": {\n "description": "Value for timeline events.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "total": {\n "description": "Value for total.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "webmcp_tools": {\n "description": "Value for webmcp tools.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "websocket_connections": {\n "description": "Value for websocket connections.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "websocket_frames": {\n "description": "Value for websocket frames.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "scripts",\n "network_requests",\n "console_events",\n "websocket_connections",\n "websocket_frames",\n "webmcp_tools",\n "timeline_events",\n "total"\n ],\n "type": "object"\n },\n "excluded": {\n "description": "Value for excluded.",\n "items": {\n "properties": {\n "count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for count."\n },\n "reason": {\n "description": "Value for reason.",\n "enum": [\n "disallowed_origin",\n "unsupported_url",\n "unattributed_origin",\n "not_approved",\n "out_of_target_scope",\n "provider_unavailable",\n "invalid_protocol_value"\n ],\n "type": "string"\n },\n "section": {\n "description": "Value for section.",\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n }\n },\n "required": [\n "section",\n "reason",\n "count"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "policy_filtered_sections": {\n "description": "Value for policy filtered sections.",\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "status": {\n "description": "Current lifecycle or verification status.",\n "enum": [\n "complete_within_window",\n "policy_filtered",\n "attach_limited",\n "truncated"\n ],\n "type": "string"\n },\n "truncated_sections": {\n "description": "Value for truncated sections.",\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "unavailable_sections": {\n "description": "Value for unavailable sections.",\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n }\n },\n "required": [\n "status",\n "conditions",\n "policy_filtered_sections",\n "attach_limited_sections",\n "truncated_sections",\n "unavailable_sections",\n "excluded",\n "dropped_events"\n ],\n "type": "object"\n },\n "console": {\n "description": "Value for console.",\n "properties": {\n "coverage_started_at": {\n "description": "Value for coverage started at.",\n "format": "date-time",\n "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))$",\n "type": "string"\n },\n "events": {\n "description": "Value for events.",\n "items": {\n "properties": {\n "argument_types": {\n "description": "Value for argument types.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "column": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for column."\n },\n "line": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for line."\n },\n "text_capture": {\n "description": "Value for text capture.",\n "properties": {\n "retained_bytes": {\n "description": "Byte count for retained.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "status": {\n "description": "Current lifecycle or verification status.",\n "enum": [\n "not_approved",\n "included"\n ],\n "type": "string"\n },\n "values": {\n "description": "Value for values.",\n "items": {\n "properties": {\n "argument_index": {\n "description": "Value for argument index.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "text": {\n "description": "Value for text.",\n "type": "string"\n },\n "type": {\n "description": "Value for type.",\n "type": "string"\n }\n },\n "required": [\n "argument_index",\n "type",\n "text"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "status",\n "values",\n "retained_bytes"\n ],\n "type": "object"\n },\n "timestamp": {\n "description": "Value for timestamp.",\n "type": "number"\n },\n "type": {\n "description": "Value for type.",\n "type": "string"\n },\n "url": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for url."\n }\n },\n "required": [\n "type",\n "timestamp",\n "argument_types",\n "url",\n "line",\n "column",\n "text_capture"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "prior_activity_available": {\n "const": false,\n "description": "Value for prior activity available.",\n "type": "boolean"\n }\n },\n "required": [\n "events",\n "coverage_started_at",\n "prior_activity_available"\n ],\n "type": "object"\n },\n "dom": {\n "description": "Value for dom.",\n "properties": {\n "nodes": {\n "description": "Value for nodes.",\n "items": {\n "properties": {\n "attribute_names": {\n "description": "Value for attribute names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "index": {\n "description": "Value for index.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "node_name": {\n "description": "Value for node name.",\n "type": "string"\n },\n "node_type": {\n "description": "Value for node type.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "node_value_length": {\n "description": "Value for node value length.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "parent_index": {\n "description": "Value for parent index.",\n "maximum": 9007199254740991,\n "minimum": -1,\n "type": "integer"\n }\n },\n "required": [\n "index",\n "parent_index",\n "node_type",\n "node_name",\n "node_value_length",\n "attribute_names"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "total_nodes": {\n "description": "Value for total nodes.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "total_nodes",\n "nodes"\n ],\n "type": "object"\n },\n "frames": {\n "description": "Value for frames.",\n "items": {\n "properties": {\n "frame_id": {\n "description": "Value for frame id.",\n "type": "string"\n },\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "parent_frame_id": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for parent frame id."\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "frame_id",\n "parent_frame_id",\n "url",\n "origin"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "metadata": {\n "description": "Value for metadata.",\n "properties": {\n "agent_hints": {\n "description": "Value for agent hints.",\n "items": {\n "properties": {\n "declaration": {\n "description": "Value for declaration.",\n "type": "string"\n },\n "mechanism": {\n "description": "Value for mechanism.",\n "enum": [\n "link_rel",\n "dom_link_rel",\n "well_known_resource",\n "response_header"\n ],\n "type": "string"\n },\n "trust": {\n "const": "page-declared-untrusted",\n "description": "Value for trust.",\n "type": "string"\n },\n "url": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for url."\n }\n },\n "required": [\n "mechanism",\n "declaration",\n "url",\n "trust"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "dom_urls": {\n "description": "Value for dom urls.",\n "items": {\n "properties": {\n "attribute": {\n "description": "Value for attribute.",\n "enum": [\n "href",\n "src",\n "action",\n "formaction",\n "poster"\n ],\n "type": "string"\n },\n "destination_scope": {\n "description": "Value for destination scope.",\n "enum": [\n "approved",\n "outside_policy",\n "unsupported"\n ],\n "type": "string"\n },\n "node_index": {\n "description": "Value for node index.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "url": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for url."\n }\n },\n "required": [\n "node_index",\n "attribute",\n "url",\n "destination_scope"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "excluded_dom_urls": {\n "description": "Value for excluded dom urls.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "headers_allowlisted": {\n "const": true,\n "description": "Value for headers allowlisted.",\n "type": "boolean"\n },\n "responses": {\n "description": "Value for responses.",\n "items": {\n "properties": {\n "content_encoding": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for content encoding."\n },\n "content_length": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for content length."\n },\n "csp": {\n "description": "Value for csp.",\n "properties": {\n "directives": {\n "description": "Value for directives.",\n "items": {\n "properties": {\n "name": {\n "description": "Exact name used by this operation.",\n "type": "string"\n },\n "sources": {\n "description": "Value for sources.",\n "items": {\n "properties": {\n "kind": {\n "description": "Value for kind.",\n "enum": [\n "keyword",\n "scheme",\n "approved_origin",\n "external_origin",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for value."\n }\n },\n "required": [\n "kind",\n "value"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "name",\n "sources"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "hash_count": {\n "description": "Value for hash count.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "nonce_count": {\n "description": "Value for nonce count.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "directives",\n "nonce_count",\n "hash_count"\n ],\n "type": "object"\n },\n "links": {\n "description": "Value for links.",\n "items": {\n "properties": {\n "as": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for as."\n },\n "crossorigin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for crossorigin."\n },\n "destination_scope": {\n "description": "Value for destination scope.",\n "enum": [\n "approved",\n "outside_policy",\n "unsupported"\n ],\n "type": "string"\n },\n "href": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for href."\n },\n "rel": {\n "description": "Value for rel.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for type."\n }\n },\n "required": [\n "href",\n "destination_scope",\n "rel",\n "as",\n "type",\n "crossorigin"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "mime_type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for mime type."\n },\n "policies": {\n "description": "Value for policies.",\n "properties": {\n "coep": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for coep."\n },\n "coop": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for coop."\n },\n "corp": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for corp."\n },\n "permissions_policy_features": {\n "description": "Value for permissions policy features.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "referrer_policy": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for referrer policy."\n },\n "x_content_type_options": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for x content type options."\n }\n },\n "required": [\n "coop",\n "coep",\n "corp",\n "referrer_policy",\n "x_content_type_options",\n "permissions_policy_features"\n ],\n "type": "object"\n },\n "request_id": {\n "description": "Value for request id.",\n "type": "string"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "request_id",\n "url",\n "mime_type",\n "content_length",\n "content_encoding",\n "csp",\n "links",\n "policies"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "responses",\n "dom_urls",\n "agent_hints",\n "excluded_dom_urls",\n "headers_allowlisted"\n ],\n "type": "object"\n },\n "network": {\n "description": "Value for network.",\n "properties": {\n "coverage_started_at": {\n "description": "Value for coverage started at.",\n "format": "date-time",\n "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))$",\n "type": "string"\n },\n "prior_activity_available": {\n "const": false,\n "description": "Value for prior activity available.",\n "type": "boolean"\n },\n "requests": {\n "description": "Value for requests.",\n "items": {\n "properties": {\n "body_shapes": {\n "description": "Value for body shapes.",\n "properties": {\n "request": {\n "anyOf": [\n {\n "properties": {\n "max_depth_observed": {\n "description": "Maximum permitted depth observed for this operation.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "node_count": {\n "description": "Value for node count.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "properties": {\n "description": "Value for properties.",\n "items": {\n "properties": {\n "observations": {\n "description": "Value for observations.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "type": "string"\n },\n "types": {\n "description": "Value for types.",\n "items": {\n "enum": [\n "object",\n "array",\n "string",\n "number",\n "boolean",\n "null"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "path",\n "types",\n "observations"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "root_type": {\n "description": "Value for root type.",\n "enum": [\n "object",\n "array",\n "string",\n "number",\n "boolean",\n "null"\n ],\n "type": "string"\n }\n },\n "required": [\n "root_type",\n "node_count",\n "max_depth_observed",\n "properties"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for request."\n },\n "response": {\n "anyOf": [\n {\n "properties": {\n "max_depth_observed": {\n "description": "Maximum permitted depth observed for this operation.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "node_count": {\n "description": "Value for node count.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "properties": {\n "description": "Value for properties.",\n "items": {\n "properties": {\n "observations": {\n "description": "Value for observations.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "type": "string"\n },\n "types": {\n "description": "Value for types.",\n "items": {\n "enum": [\n "object",\n "array",\n "string",\n "number",\n "boolean",\n "null"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "path",\n "types",\n "observations"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "root_type": {\n "description": "Value for root type.",\n "enum": [\n "object",\n "array",\n "string",\n "number",\n "boolean",\n "null"\n ],\n "type": "string"\n }\n },\n "required": [\n "root_type",\n "node_count",\n "max_depth_observed",\n "properties"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for response."\n },\n "status": {\n "description": "Current lifecycle or verification status.",\n "enum": [\n "not_approved",\n "included",\n "partial",\n "unavailable"\n ],\n "type": "string"\n }\n },\n "required": [\n "status",\n "request",\n "response"\n ],\n "type": "object"\n },\n "encoded_data_length": {\n "anyOf": [\n {\n "minimum": 0,\n "type": "number"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for encoded data length."\n },\n "initiator": {\n "description": "Value for initiator.",\n "properties": {\n "column": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for column."\n },\n "line": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for line."\n },\n "type": {\n "description": "Value for type.",\n "type": "string"\n },\n "url": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for url."\n }\n },\n "required": [\n "type",\n "url",\n "line",\n "column"\n ],\n "type": "object"\n },\n "method": {\n "description": "Value for method.",\n "type": "string"\n },\n "mime_type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for mime type."\n },\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "request_id": {\n "description": "Value for request id.",\n "type": "string"\n },\n "resource_type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for resource type."\n },\n "status": {\n "anyOf": [\n {\n "type": "number"\n },\n {\n "type": "null"\n }\n ],\n "description": "Current lifecycle or verification status."\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "request_id",\n "url",\n "origin",\n "method",\n "resource_type",\n "status",\n "mime_type",\n "encoded_data_length",\n "initiator",\n "body_shapes"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "websocket_events": {\n "description": "Value for websocket events.",\n "items": {\n "properties": {\n "direction": {\n "description": "Direction in which to traverse or compare relationships.",\n "enum": [\n "sent",\n "received"\n ],\n "type": "string"\n },\n "opcode": {\n "description": "Value for opcode.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "payload_bytes": {\n "description": "Byte count for payload.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "payload_shape": {\n "anyOf": [\n {\n "properties": {\n "format": {\n "description": "Declared input artifact format.",\n "enum": [\n "json",\n "text",\n "binary"\n ],\n "type": "string"\n },\n "json_shape": {\n "anyOf": [\n {\n "properties": {\n "max_depth_observed": {\n "description": "Maximum permitted depth observed for this operation.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "node_count": {\n "description": "Value for node count.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "properties": {\n "description": "Value for properties.",\n "items": {\n "properties": {\n "observations": {\n "description": "Value for observations.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "type": "string"\n },\n "types": {\n "description": "Value for types.",\n "items": {\n "enum": [\n "object",\n "array",\n "string",\n "number",\n "boolean",\n "null"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "path",\n "types",\n "observations"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "root_type": {\n "description": "Value for root type.",\n "enum": [\n "object",\n "array",\n "string",\n "number",\n "boolean",\n "null"\n ],\n "type": "string"\n }\n },\n "required": [\n "root_type",\n "node_count",\n "max_depth_observed",\n "properties"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for json shape."\n }\n },\n "required": [\n "format",\n "json_shape"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for payload shape."\n },\n "request_id": {\n "description": "Value for request id.",\n "type": "string"\n }\n },\n "required": [\n "request_id",\n "direction",\n "opcode",\n "payload_bytes",\n "payload_shape"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "requests",\n "websocket_events",\n "coverage_started_at",\n "prior_activity_available"\n ],\n "type": "object"\n },\n "resources": {\n "description": "Value for resources.",\n "items": {\n "properties": {\n "content_size": {\n "anyOf": [\n {\n "minimum": 0,\n "type": "number"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for content size."\n },\n "mime_type": {\n "description": "Value for mime type.",\n "type": "string"\n },\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "resource_key": {\n "description": "Value for resource key.",\n "pattern": "^res_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": {\n "description": "Value for type.",\n "type": "string"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "resource_key",\n "url",\n "origin",\n "type",\n "mime_type",\n "content_size"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "scripts": {\n "description": "Value for scripts.",\n "properties": {\n "items": {\n "description": "Value for items.",\n "items": {\n "properties": {\n "cdp_hash": {\n "description": "Value for cdp hash.",\n "type": "string"\n },\n "frame_id": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "Value for frame id."\n },\n "is_module": {\n "description": "Whether is module.",\n "type": "boolean"\n },\n "language": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for language."\n },\n "length": {\n "description": "Value for length.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "resource_reconciliation": {\n "description": "Value for resource reconciliation.",\n "oneOf": [\n {\n "properties": {\n "resource_key": {\n "description": "Value for resource key.",\n "type": "string"\n },\n "status": {\n "const": "exact",\n "description": "Current lifecycle or verification status.",\n "type": "string"\n }\n },\n "required": [\n "status",\n "resource_key"\n ],\n "type": "object"\n },\n {\n "properties": {\n "candidate_resource_keys": {\n "description": "Value for candidate resource keys.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "status": {\n "const": "ambiguous",\n "description": "Current lifecycle or verification status.",\n "type": "string"\n }\n },\n "required": [\n "status",\n "candidate_resource_keys"\n ],\n "type": "object"\n },\n {\n "properties": {\n "reason": {\n "const": "no_exact_sanitized_url",\n "description": "Value for reason.",\n "type": "string"\n },\n "status": {\n "const": "unmatched",\n "description": "Current lifecycle or verification status.",\n "type": "string"\n }\n },\n "required": [\n "status",\n "reason"\n ],\n "type": "object"\n }\n ]\n },\n "script_key": {\n "description": "Value for script key.",\n "pattern": "^scr_[a-f0-9]{64}(?:_[0-9]+)?$",\n "type": "string"\n },\n "source": {\n "description": "Value for source.",\n "oneOf": [\n {\n "properties": {\n "included": {\n "const": false,\n "description": "Value for included.",\n "type": "boolean"\n },\n "reason": {\n "description": "Value for reason.",\n "type": "string"\n }\n },\n "required": [\n "included",\n "reason"\n ],\n "type": "object"\n },\n {\n "properties": {\n "artifact": {\n "description": "Value for artifact.",\n "properties": {\n "bytes": {\n "description": "Value for bytes.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "charset": {\n "const": "utf-8",\n "description": "Value for charset.",\n "type": "string"\n },\n "media_type": {\n "description": "Value for media type.",\n "minLength": 1,\n "type": "string"\n },\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "text": {\n "description": "Value for text.",\n "type": "string"\n }\n },\n "required": [\n "sha256",\n "bytes",\n "media_type",\n "charset",\n "text"\n ],\n "type": "object"\n },\n "included": {\n "const": true,\n "description": "Value for included.",\n "type": "boolean"\n }\n },\n "required": [\n "included",\n "artifact"\n ],\n "type": "object"\n }\n ]\n },\n "source_map_url": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for source map url."\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "script_key",\n "url",\n "origin",\n "cdp_hash",\n "length",\n "is_module",\n "language",\n "source_map_url",\n "resource_reconciliation",\n "source"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "total": {\n "description": "Value for total.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "total",\n "items"\n ],\n "type": "object"\n },\n "storage": {\n "description": "Value for storage.",\n "properties": {\n "cache_names": {\n "description": "Value for cache names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "content_fingerprints": {\n "default": [],\n "description": "Value for content fingerprints.",\n "items": {\n "properties": {\n "complete": {\n "description": "Value for complete.",\n "type": "boolean"\n },\n "identity_sha256": {\n "description": "Exact SHA-256 digest of identity.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "scope": {\n "description": "Value for scope.",\n "enum": [\n "cookie",\n "local_storage",\n "session_storage",\n "indexed_db_schema",\n "indexed_db_record",\n "cache_entry"\n ],\n "type": "string"\n },\n "value_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Exact SHA-256 digest of value."\n }\n },\n "required": [\n "scope",\n "identity_sha256",\n "value_sha256",\n "complete"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "fingerprint_algorithm": {\n "const": "sha256",\n "default": "sha256",\n "description": "Value for fingerprint algorithm.",\n "type": "string"\n },\n "fingerprints_complete": {\n "default": false,\n "description": "Value for fingerprints complete.",\n "type": "boolean"\n },\n "indexed_db_names": {\n "description": "Value for indexed db names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "local_storage_keys": {\n "description": "Value for local storage keys.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "origin": {\n "description": "Value for origin.",\n "type": "string"\n },\n "quota_bytes": {\n "anyOf": [\n {\n "minimum": 0,\n "type": "number"\n },\n {\n "type": "null"\n }\n ],\n "description": "Byte count for quota."\n },\n "session_storage_keys": {\n "description": "Value for session storage keys.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "usage_bytes": {\n "anyOf": [\n {\n "minimum": 0,\n "type": "number"\n },\n {\n "type": "null"\n }\n ],\n "description": "Byte count for usage."\n },\n "values_redacted": {\n "const": true,\n "description": "Value for values redacted.",\n "type": "boolean"\n }\n },\n "required": [\n "origin",\n "usage_bytes",\n "quota_bytes",\n "local_storage_keys",\n "session_storage_keys",\n "indexed_db_names",\n "cache_names",\n "values_redacted"\n ],\n "type": "object"\n },\n "target": {\n "description": "Value for target.",\n "properties": {\n "attached": {\n "description": "Value for attached.",\n "type": "boolean"\n },\n "origin": {\n "description": "Value for origin.",\n "type": "string"\n },\n "target_id": {\n "description": "Exact CDP target identifier selected from the endpoint\'s target listing.",\n "type": "string"\n },\n "title": {\n "description": "Value for title.",\n "type": "string"\n },\n "type": {\n "description": "Value for type.",\n "type": "string"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "target_id",\n "type",\n "title",\n "url",\n "origin",\n "attached"\n ],\n "type": "object"\n },\n "workers": {\n "description": "Value for workers.",\n "items": {\n "properties": {\n "attached": {\n "description": "Value for attached.",\n "type": "boolean"\n },\n "opener_target_id": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "Value for opener target id."\n },\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "parent_frame_id": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "Value for parent frame id."\n },\n "target_id": {\n "description": "Exact CDP target identifier selected from the endpoint\'s target listing.",\n "type": "string"\n },\n "type": {\n "description": "Value for type.",\n "type": "string"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "target_id",\n "type",\n "url",\n "origin",\n "attached"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "browser",\n "target",\n "capture_window",\n "completeness",\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "resources",\n "network",\n "console",\n "workers",\n "metadata",\n "storage",\n "limitations"\n ],\n "type": "object"\n },\n "webmcp": {\n "anyOf": [\n {\n "properties": {\n "browser": {\n "description": "Value for browser.",\n "properties": {\n "js_version": {\n "description": "Value for js version.",\n "type": "string"\n },\n "product": {\n "description": "Value for product.",\n "type": "string"\n },\n "protocol_version": {\n "description": "Value for protocol version.",\n "type": "string"\n },\n "revision": {\n "description": "Value for revision.",\n "type": "string"\n },\n "user_agent": {\n "description": "Value for user agent.",\n "type": "string"\n }\n },\n "required": [\n "product",\n "protocol_version",\n "revision",\n "user_agent",\n "js_version"\n ],\n "type": "object"\n },\n "completeness": {\n "description": "Value for completeness.",\n "properties": {\n "attach_limited_sections": {\n "description": "Value for attach limited sections.",\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "conditions": {\n "description": "Value for conditions.",\n "items": {\n "enum": [\n "complete_within_window",\n "policy_filtered",\n "attach_limited",\n "truncated"\n ],\n "type": "string"\n },\n "maxItems": 3,\n "minItems": 1,\n "type": "array"\n },\n "dropped_events": {\n "description": "Value for dropped events.",\n "properties": {\n "console_events": {\n "description": "Value for console events.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "network_requests": {\n "description": "Value for network requests.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "scripts": {\n "description": "Value for scripts.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "timeline_events": {\n "description": "Value for timeline events.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "total": {\n "description": "Value for total.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "webmcp_tools": {\n "description": "Value for webmcp tools.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "websocket_connections": {\n "description": "Value for websocket connections.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "websocket_frames": {\n "description": "Value for websocket frames.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "scripts",\n "network_requests",\n "console_events",\n "websocket_connections",\n "websocket_frames",\n "webmcp_tools",\n "timeline_events",\n "total"\n ],\n "type": "object"\n },\n "excluded": {\n "description": "Value for excluded.",\n "items": {\n "properties": {\n "count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for count."\n },\n "reason": {\n "description": "Value for reason.",\n "enum": [\n "disallowed_origin",\n "unsupported_url",\n "unattributed_origin",\n "not_approved",\n "out_of_target_scope",\n "provider_unavailable",\n "invalid_protocol_value"\n ],\n "type": "string"\n },\n "section": {\n "description": "Value for section.",\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n }\n },\n "required": [\n "section",\n "reason",\n "count"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "policy_filtered_sections": {\n "description": "Value for policy filtered sections.",\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "status": {\n "description": "Current lifecycle or verification status.",\n "enum": [\n "complete_within_window",\n "policy_filtered",\n "attach_limited",\n "truncated"\n ],\n "type": "string"\n },\n "truncated_sections": {\n "description": "Value for truncated sections.",\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "unavailable_sections": {\n "description": "Value for unavailable sections.",\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n }\n },\n "required": [\n "status",\n "conditions",\n "policy_filtered_sections",\n "attach_limited_sections",\n "truncated_sections",\n "unavailable_sections",\n "excluded",\n "dropped_events"\n ],\n "type": "object"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "status": {\n "description": "Current lifecycle or verification status.",\n "enum": [\n "available",\n "unavailable"\n ],\n "type": "string"\n },\n "target": {\n "description": "Value for target.",\n "properties": {\n "origin": {\n "description": "Value for origin.",\n "type": "string"\n },\n "target_id": {\n "description": "Exact CDP target identifier selected from the endpoint\'s target listing.",\n "type": "string"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "target_id",\n "url",\n "origin"\n ],\n "type": "object"\n },\n "tools": {\n "description": "Value for tools.",\n "properties": {\n "items": {\n "description": "Value for items.",\n "items": {\n "properties": {\n "annotations": {\n "description": "Value for annotations.",\n "properties": {\n "autosubmit": {\n "anyOf": [\n {\n "type": "boolean"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for autosubmit."\n },\n "read_only": {\n "anyOf": [\n {\n "type": "boolean"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for read only."\n },\n "untrusted_content": {\n "anyOf": [\n {\n "type": "boolean"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for untrusted content."\n }\n },\n "required": [\n "read_only",\n "untrusted_content",\n "autosubmit"\n ],\n "type": "object"\n },\n "declaration_kind": {\n "description": "Value for declaration kind.",\n "enum": [\n "declarative",\n "imperative"\n ],\n "type": "string"\n },\n "description": {\n "description": "Value for description.",\n "type": "string"\n },\n "frame_id": {\n "description": "Value for frame id.",\n "type": "string"\n },\n "frame_url": {\n "description": "Value for frame url.",\n "type": "string"\n },\n "input_schema_shape": {\n "anyOf": [\n {\n "properties": {\n "max_depth_observed": {\n "description": "Maximum permitted depth observed for this operation.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "node_count": {\n "description": "Value for node count.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "properties": {\n "description": "Value for properties.",\n "items": {\n "properties": {\n "observations": {\n "description": "Value for observations.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "type": "string"\n },\n "types": {\n "description": "Value for types.",\n "items": {\n "enum": [\n "object",\n "array",\n "string",\n "number",\n "boolean",\n "null"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "path",\n "types",\n "observations"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "root_type": {\n "description": "Value for root type.",\n "enum": [\n "object",\n "array",\n "string",\n "number",\n "boolean",\n "null"\n ],\n "type": "string"\n }\n },\n "required": [\n "root_type",\n "node_count",\n "max_depth_observed",\n "properties"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for input schema shape."\n },\n "name": {\n "description": "Exact name used by this operation.",\n "type": "string"\n },\n "owner_origin": {\n "description": "Value for owner origin.",\n "type": "string"\n },\n "registration_source": {\n "anyOf": [\n {\n "properties": {\n "column": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for column."\n },\n "line": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for line."\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "url",\n "line",\n "column"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for registration source."\n },\n "tool_key": {\n "description": "Value for tool key.",\n "pattern": "^webmcp_[a-f0-9]{64}$",\n "type": "string"\n },\n "trust": {\n "const": "page-declared-untrusted",\n "description": "Value for trust.",\n "type": "string"\n }\n },\n "required": [\n "tool_key",\n "name",\n "description",\n "frame_id",\n "frame_url",\n "owner_origin",\n "declaration_kind",\n "input_schema_shape",\n "annotations",\n "registration_source",\n "trust"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "total": {\n "description": "Value for total.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "total",\n "items"\n ],\n "type": "object"\n }\n },\n "required": [\n "browser",\n "target",\n "status",\n "tools",\n "completeness",\n "limitations"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "Value for webmcp."\n }\n },\n "required": [\n "inspection"\n ],\n "type": "object"\n },\n "after_scenario": {\n "additionalProperties": false,\n "description": "Later browser scenario capture.",\n "properties": {\n "browser": {\n "additionalProperties": false,\n "description": "Value for browser.",\n "properties": {\n "cleanup": {\n "description": "Value for cleanup.",\n "enum": [\n "terminated-owned-process",\n "disconnected-external"\n ],\n "type": "string"\n },\n "mode": {\n "description": "Operation mode that selects the requested behavior.",\n "enum": [\n "launch",\n "connect"\n ],\n "type": "string"\n },\n "process_ownership": {\n "description": "Value for process ownership.",\n "enum": [\n "provider-owned",\n "external"\n ],\n "type": "string"\n },\n "product": {\n "description": "Value for product.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "description": "Value for version.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "mode",\n "process_ownership",\n "cleanup",\n "product",\n "version"\n ],\n "type": "object"\n },\n "completeness": {\n "description": "Value for completeness.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "equality_eligible": {\n "const": true,\n "description": "Value for equality eligible.",\n "type": "boolean"\n },\n "missing_sections": {\n "description": "Value for missing sections.",\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "status": {\n "const": "complete",\n "description": "Current lifecycle or verification status.",\n "type": "string"\n },\n "truncated_sections": {\n "description": "Value for truncated sections.",\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n }\n },\n "required": [\n "status",\n "equality_eligible",\n "missing_sections",\n "truncated_sections"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "equality_eligible": {\n "const": false,\n "description": "Value for equality eligible.",\n "type": "boolean"\n },\n "missing_sections": {\n "description": "Value for missing sections.",\n "items": {\n "enum": [\n "action",\n "screenshot",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage",\n "events",\n "frames",\n "workers",\n "popups",\n "websockets"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "status": {\n "const": "incomplete",\n "description": "Current lifecycle or verification status.",\n "type": "string"\n },\n "truncated_sections": {\n "description": "Value for truncated sections.",\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n }\n },\n "required": [\n "status",\n "equality_eligible",\n "missing_sections",\n "truncated_sections"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "equality_eligible": {\n "const": false,\n "description": "Value for equality eligible.",\n "type": "boolean"\n },\n "missing_sections": {\n "description": "Value for missing sections.",\n "items": {\n "enum": [\n "action",\n "screenshot",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage",\n "events",\n "frames",\n "workers",\n "popups",\n "websockets"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "status": {\n "const": "truncated",\n "description": "Current lifecycle or verification status.",\n "type": "string"\n },\n "truncated_sections": {\n "description": "Value for truncated sections.",\n "items": {\n "enum": [\n "action",\n "screenshot",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage",\n "events",\n "frames",\n "workers",\n "popups",\n "websockets"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "status",\n "equality_eligible",\n "missing_sections",\n "truncated_sections"\n ],\n "type": "object"\n }\n ]\n },\n "duration_ms": {\n "description": "Value for duration ms.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "events": {\n "additionalProperties": false,\n "description": "Value for events.",\n "properties": {\n "dropped": {\n "description": "Value for dropped.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "items": {\n "description": "Value for items.",\n "items": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "console",\n "description": "Value for kind.",\n "type": "string"\n },\n "level": {\n "description": "Value for level.",\n "minLength": 1,\n "type": "string"\n },\n "sequence": {\n "description": "Value for sequence.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "step_index": {\n "description": "Value for step index.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "text": {\n "description": "Value for text.",\n "type": "string"\n },\n "url": {\n "anyOf": [\n {\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "query_parameter_names": {\n "description": "Value for query parameter names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "description": "Value for redacted.",\n "type": "boolean"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for url."\n }\n },\n "required": [\n "sequence",\n "step_index",\n "kind",\n "level",\n "text",\n "url"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "page-error",\n "description": "Value for kind.",\n "type": "string"\n },\n "message": {\n "description": "Value for message.",\n "type": "string"\n },\n "sequence": {\n "description": "Value for sequence.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "stack": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for stack."\n },\n "step_index": {\n "description": "Value for step index.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "sequence",\n "step_index",\n "kind",\n "message",\n "stack"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "failure": {\n "description": "Value for failure.",\n "type": "null"\n },\n "header_names": {\n "description": "Value for header names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "kind": {\n "const": "request",\n "description": "Value for kind.",\n "type": "string"\n },\n "method": {\n "description": "Value for method.",\n "minLength": 1,\n "type": "string"\n },\n "redirected_from_transaction_id": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for redirected from transaction id."\n },\n "resource_type": {\n "description": "Value for resource type.",\n "minLength": 1,\n "type": "string"\n },\n "sequence": {\n "description": "Value for sequence.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "status": {\n "description": "Current lifecycle or verification status.",\n "type": "null"\n },\n "step_index": {\n "description": "Value for step index.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "transaction_id": {\n "description": "Value for transaction id.",\n "minLength": 1,\n "type": "string"\n },\n "url": {\n "description": "Value for url.",\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "query_parameter_names": {\n "description": "Value for query parameter names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "description": "Value for redacted.",\n "type": "boolean"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n }\n },\n "required": [\n "sequence",\n "step_index",\n "method",\n "url",\n "resource_type",\n "header_names",\n "kind",\n "status",\n "failure"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "failure": {\n "description": "Value for failure.",\n "type": "null"\n },\n "header_names": {\n "description": "Value for header names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "kind": {\n "const": "response",\n "description": "Value for kind.",\n "type": "string"\n },\n "method": {\n "description": "Value for method.",\n "minLength": 1,\n "type": "string"\n },\n "redirected_from_transaction_id": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for redirected from transaction id."\n },\n "resource_type": {\n "description": "Value for resource type.",\n "minLength": 1,\n "type": "string"\n },\n "sequence": {\n "description": "Value for sequence.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "status": {\n "description": "Current lifecycle or verification status.",\n "maximum": 599,\n "minimum": 100,\n "type": "integer"\n },\n "step_index": {\n "description": "Value for step index.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "transaction_id": {\n "description": "Value for transaction id.",\n "minLength": 1,\n "type": "string"\n },\n "url": {\n "description": "Value for url.",\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "query_parameter_names": {\n "description": "Value for query parameter names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "description": "Value for redacted.",\n "type": "boolean"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n }\n },\n "required": [\n "sequence",\n "step_index",\n "method",\n "url",\n "resource_type",\n "header_names",\n "kind",\n "status",\n "failure"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "failure": {\n "description": "Value for failure.",\n "minLength": 1,\n "type": "string"\n },\n "header_names": {\n "description": "Value for header names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "kind": {\n "const": "request-failed",\n "description": "Value for kind.",\n "type": "string"\n },\n "method": {\n "description": "Value for method.",\n "minLength": 1,\n "type": "string"\n },\n "redirected_from_transaction_id": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for redirected from transaction id."\n },\n "resource_type": {\n "description": "Value for resource type.",\n "minLength": 1,\n "type": "string"\n },\n "sequence": {\n "description": "Value for sequence.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "status": {\n "description": "Current lifecycle or verification status.",\n "type": "null"\n },\n "step_index": {\n "description": "Value for step index.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "transaction_id": {\n "description": "Value for transaction id.",\n "minLength": 1,\n "type": "string"\n },\n "url": {\n "description": "Value for url.",\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "query_parameter_names": {\n "description": "Value for query parameter names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "description": "Value for redacted.",\n "type": "boolean"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n }\n },\n "required": [\n "sequence",\n "step_index",\n "method",\n "url",\n "resource_type",\n "header_names",\n "kind",\n "status",\n "failure"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "failure": {\n "description": "Value for failure.",\n "type": "null"\n },\n "header_names": {\n "description": "Value for header names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "kind": {\n "const": "request-finished",\n "description": "Value for kind.",\n "type": "string"\n },\n "method": {\n "description": "Value for method.",\n "minLength": 1,\n "type": "string"\n },\n "redirected_from_transaction_id": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for redirected from transaction id."\n },\n "resource_type": {\n "description": "Value for resource type.",\n "minLength": 1,\n "type": "string"\n },\n "sequence": {\n "description": "Value for sequence.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "status": {\n "description": "Current lifecycle or verification status.",\n "type": "null"\n },\n "step_index": {\n "description": "Value for step index.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "transaction_id": {\n "description": "Value for transaction id.",\n "minLength": 1,\n "type": "string"\n },\n "url": {\n "description": "Value for url.",\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "query_parameter_names": {\n "description": "Value for query parameter names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "description": "Value for redacted.",\n "type": "boolean"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n }\n },\n "required": [\n "sequence",\n "step_index",\n "method",\n "url",\n "resource_type",\n "header_names",\n "kind",\n "status",\n "failure"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "failure": {\n "description": "Value for failure.",\n "type": "null"\n },\n "header_names": {\n "description": "Value for header names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "kind": {\n "const": "request-unfinished",\n "description": "Value for kind.",\n "type": "string"\n },\n "method": {\n "description": "Value for method.",\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "description": "Value for reason.",\n "enum": [\n "capture-ended",\n "cancelled"\n ],\n "type": "string"\n },\n "redirected_from_transaction_id": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for redirected from transaction id."\n },\n "resource_type": {\n "description": "Value for resource type.",\n "minLength": 1,\n "type": "string"\n },\n "sequence": {\n "description": "Value for sequence.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "status": {\n "description": "Current lifecycle or verification status.",\n "type": "null"\n },\n "step_index": {\n "description": "Value for step index.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "transaction_id": {\n "description": "Value for transaction id.",\n "minLength": 1,\n "type": "string"\n },\n "url": {\n "description": "Value for url.",\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "query_parameter_names": {\n "description": "Value for query parameter names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "description": "Value for redacted.",\n "type": "boolean"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n }\n },\n "required": [\n "sequence",\n "step_index",\n "method",\n "url",\n "resource_type",\n "header_names",\n "kind",\n "status",\n "failure",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "body": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "not_requested",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "not_exposed",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "message": {\n "description": "Value for message.",\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "description": "Value for reason.",\n "enum": [\n "request-failed",\n "response-unfinished",\n "body-read-failed",\n "body-read-timeout",\n "cancelled",\n "capture-ended"\n ],\n "type": "string"\n },\n "state": {\n "const": "unavailable",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason",\n "message"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "bytes": {\n "description": "Value for bytes.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "content": {\n "description": "Value for content.",\n "type": "string"\n },\n "encoding": {\n "const": "base64",\n "description": "Value for encoding.",\n "type": "string"\n },\n "media_type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for media type."\n },\n "redacted": {\n "description": "Value for redacted.",\n "type": "boolean"\n },\n "representation": {\n "description": "Value for representation.",\n "enum": [\n "browser-exposed-request-bytes",\n "browser-decoded-response-bytes"\n ],\n "type": "string"\n },\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "state": {\n "const": "captured",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "representation",\n "encoding",\n "content",\n "bytes",\n "sha256",\n "media_type",\n "redacted"\n ],\n "type": "object"\n }\n ],\n "description": "Value for body."\n },\n "headers": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "not_requested",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "message": {\n "description": "Value for message.",\n "minLength": 1,\n "type": "string"\n },\n "state": {\n "const": "unavailable",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "message"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "items": {\n "description": "Value for items.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "redacted": {\n "description": "Value for redacted.",\n "type": "boolean"\n },\n "value": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for value."\n }\n },\n "required": [\n "name",\n "value",\n "redacted"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "state": {\n "const": "captured",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "items"\n ],\n "type": "object"\n }\n ],\n "description": "Value for headers."\n },\n "kind": {\n "const": "network-content",\n "description": "Value for kind.",\n "type": "string"\n },\n "phase": {\n "description": "Current plan or execution phase of the operation.",\n "enum": [\n "request",\n "response"\n ],\n "type": "string"\n },\n "sequence": {\n "description": "Value for sequence.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "source_event_sequence": {\n "description": "Value for source event sequence.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "step_index": {\n "description": "Value for step index.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "transaction_id": {\n "description": "Value for transaction id.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "sequence",\n "step_index",\n "kind",\n "transaction_id",\n "source_event_sequence",\n "phase",\n "headers",\n "body"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "description": "Value for kind.",\n "enum": [\n "websocket-opened",\n "websocket-closed"\n ],\n "type": "string"\n },\n "sequence": {\n "description": "Value for sequence.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "step_index": {\n "description": "Value for step index.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "url": {\n "description": "Value for url.",\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "query_parameter_names": {\n "description": "Value for query parameter names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "description": "Value for redacted.",\n "type": "boolean"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n }\n },\n "required": [\n "sequence",\n "step_index",\n "kind",\n "url"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "description": "Value for kind.",\n "enum": [\n "websocket-frame-sent",\n "websocket-frame-received"\n ],\n "type": "string"\n },\n "payload_bytes": {\n "description": "Byte count for payload.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "payload_text": {\n "description": "Value for payload text.",\n "type": "string"\n },\n "payload_type": {\n "const": "text",\n "description": "Value for payload type.",\n "type": "string"\n },\n "sequence": {\n "description": "Value for sequence.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "step_index": {\n "description": "Value for step index.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "truncated": {\n "description": "Value for truncated.",\n "type": "boolean"\n },\n "url": {\n "description": "Value for url.",\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "query_parameter_names": {\n "description": "Value for query parameter names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "description": "Value for redacted.",\n "type": "boolean"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n }\n },\n "required": [\n "sequence",\n "step_index",\n "kind",\n "url",\n "payload_bytes",\n "truncated",\n "payload_type",\n "payload_text"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "description": "Value for kind.",\n "enum": [\n "websocket-frame-sent",\n "websocket-frame-received"\n ],\n "type": "string"\n },\n "payload_bytes": {\n "description": "Byte count for payload.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "payload_text": {\n "description": "Value for payload text.",\n "type": "null"\n },\n "payload_type": {\n "const": "binary",\n "description": "Value for payload type.",\n "type": "string"\n },\n "sequence": {\n "description": "Value for sequence.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "step_index": {\n "description": "Value for step index.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "truncated": {\n "description": "Value for truncated.",\n "type": "boolean"\n },\n "url": {\n "description": "Value for url.",\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "query_parameter_names": {\n "description": "Value for query parameter names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "description": "Value for redacted.",\n "type": "boolean"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n }\n },\n "required": [\n "sequence",\n "step_index",\n "kind",\n "url",\n "payload_bytes",\n "truncated",\n "payload_type",\n "payload_text"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "description": "Value for kind.",\n "enum": [\n "frame-attached",\n "frame-detached",\n "frame-navigated",\n "worker-created",\n "worker-closed",\n "popup-opened",\n "popup-closed"\n ],\n "type": "string"\n },\n "name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Exact name used by this operation."\n },\n "sequence": {\n "description": "Value for sequence.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "step_index": {\n "description": "Value for step index.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "url": {\n "anyOf": [\n {\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "query_parameter_names": {\n "description": "Value for query parameter names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "description": "Value for redacted.",\n "type": "boolean"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for url."\n }\n },\n "required": [\n "sequence",\n "step_index",\n "kind",\n "url",\n "name"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "download-cancelled",\n "description": "Value for kind.",\n "type": "string"\n },\n "sequence": {\n "description": "Value for sequence.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "step_index": {\n "description": "Value for step index.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "suggested_filename": {\n "description": "Value for suggested filename.",\n "type": "string"\n },\n "url": {\n "description": "Value for url.",\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "query_parameter_names": {\n "description": "Value for query parameter names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "description": "Value for redacted.",\n "type": "boolean"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n }\n },\n "required": [\n "sequence",\n "step_index",\n "kind",\n "suggested_filename",\n "url"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "retained": {\n "description": "Value for retained.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "retained",\n "dropped",\n "items"\n ],\n "type": "object"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "scenario": {\n "additionalProperties": false,\n "description": "Value for scenario.",\n "properties": {\n "action_count": {\n "description": "Value for action count.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "network_content": {\n "additionalProperties": false,\n "description": "Value for network content.",\n "properties": {\n "header_values": {\n "default": false,\n "description": "Value for header values.",\n "type": "boolean"\n },\n "request_body": {\n "default": false,\n "description": "Value for request body.",\n "type": "boolean"\n },\n "response_body": {\n "default": false,\n "description": "Value for response body.",\n "type": "boolean"\n }\n },\n "type": "object"\n },\n "secret_references": {\n "description": "Value for secret references.",\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "start_origin": {\n "description": "Value for start origin.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "start_origin",\n "action_count",\n "secret_references"\n ],\n "type": "object"\n },\n "steps": {\n "description": "Value for steps.",\n "items": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "action": {\n "description": "Value for action.",\n "minLength": 1,\n "type": "string"\n },\n "after_url": {\n "description": "Value for after url.",\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "query_parameter_names": {\n "description": "Value for query parameter names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "description": "Value for redacted.",\n "type": "boolean"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n },\n "artifacts": {\n "additionalProperties": false,\n "description": "Value for artifacts.",\n "properties": {\n "accessibility": {\n "description": "Value for accessibility.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "captured",\n "description": "Value for state.",\n "type": "string"\n },\n "value": {\n "additionalProperties": false,\n "description": "Value for value.",\n "properties": {\n "bytes": {\n "description": "Value for bytes.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "text": {\n "description": "Value for text.",\n "type": "string"\n }\n },\n "required": [\n "sha256",\n "bytes",\n "text"\n ],\n "type": "object"\n }\n },\n "required": [\n "state",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "not_requested",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "state": {\n "const": "missing",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "observed": {\n "description": "Value for observed.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "retained": {\n "description": "Value for retained.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "state": {\n "const": "truncated",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "observed",\n "retained",\n "reason"\n ],\n "type": "object"\n }\n ]\n },\n "dom": {\n "description": "Value for dom.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "captured",\n "description": "Value for state.",\n "type": "string"\n },\n "value": {\n "additionalProperties": false,\n "description": "Value for value.",\n "properties": {\n "bytes": {\n "description": "Value for bytes.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "text": {\n "description": "Value for text.",\n "type": "string"\n }\n },\n "required": [\n "sha256",\n "bytes",\n "text"\n ],\n "type": "object"\n }\n },\n "required": [\n "state",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "not_requested",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "state": {\n "const": "missing",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "observed": {\n "description": "Value for observed.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "retained": {\n "description": "Value for retained.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "state": {\n "const": "truncated",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "observed",\n "retained",\n "reason"\n ],\n "type": "object"\n }\n ]\n },\n "history": {\n "description": "Value for history.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "captured",\n "description": "Value for state.",\n "type": "string"\n },\n "value": {\n "additionalProperties": false,\n "description": "Value for value.",\n "properties": {\n "current_url": {\n "description": "Value for current url.",\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "query_parameter_names": {\n "description": "Value for query parameter names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "description": "Value for redacted.",\n "type": "boolean"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n },\n "length": {\n "description": "Value for length.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "navigation_entries": {\n "description": "Value for navigation entries.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "description": "Exact name used by this operation.",\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "query_parameter_names": {\n "description": "Value for query parameter names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "description": "Value for redacted.",\n "type": "boolean"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n },\n "type": {\n "description": "Value for type.",\n "enum": [\n "navigate",\n "reload",\n "back_forward",\n "prerender",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "type",\n "name"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "length",\n "current_url",\n "navigation_entries"\n ],\n "type": "object"\n }\n },\n "required": [\n "state",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "not_requested",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "state": {\n "const": "missing",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "observed": {\n "description": "Value for observed.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "retained": {\n "description": "Value for retained.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "state": {\n "const": "truncated",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "observed",\n "retained",\n "reason"\n ],\n "type": "object"\n }\n ]\n },\n "screenshot": {\n "description": "Value for screenshot.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "captured",\n "description": "Value for state.",\n "type": "string"\n },\n "value": {\n "description": "Value for value.",\n "properties": {\n "bytes": {\n "description": "Value for bytes.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "data_base64": {\n "description": "Value for data base64.",\n "type": "string"\n },\n "media_type": {\n "const": "image/png",\n "description": "Value for media type.",\n "type": "string"\n },\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256",\n "bytes",\n "media_type",\n "data_base64"\n ],\n "type": "object"\n }\n },\n "required": [\n "state",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "not_requested",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "state": {\n "const": "missing",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "observed": {\n "description": "Value for observed.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "retained": {\n "description": "Value for retained.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "state": {\n "const": "truncated",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "observed",\n "retained",\n "reason"\n ],\n "type": "object"\n }\n ]\n },\n "storage": {\n "description": "Value for storage.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "captured",\n "description": "Value for state.",\n "type": "string"\n },\n "value": {\n "additionalProperties": false,\n "description": "Value for value.",\n "properties": {\n "cookies": {\n "description": "Value for cookies.",\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "domain": {\n "description": "Value for domain.",\n "type": "string"\n },\n "http_only": {\n "description": "Value for http only.",\n "type": "boolean"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "type": "string"\n },\n "same_site": {\n "description": "Value for same site.",\n "enum": [\n "Strict",\n "Lax",\n "None"\n ],\n "type": "string"\n },\n "secure": {\n "description": "Value for secure.",\n "type": "boolean"\n },\n "value_sha256": {\n "description": "Exact SHA-256 digest of value.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "value_state": {\n "const": "hashed",\n "description": "Value for value state.",\n "type": "string"\n }\n },\n "required": [\n "name",\n "domain",\n "path",\n "secure",\n "http_only",\n "same_site",\n "value_state",\n "value_sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "domain": {\n "description": "Value for domain.",\n "type": "string"\n },\n "http_only": {\n "description": "Value for http only.",\n "type": "boolean"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "type": "string"\n },\n "same_site": {\n "description": "Value for same site.",\n "enum": [\n "Strict",\n "Lax",\n "None"\n ],\n "type": "string"\n },\n "secure": {\n "description": "Value for secure.",\n "type": "boolean"\n },\n "value_sha256": {\n "description": "Exact SHA-256 digest of value.",\n "type": "null"\n },\n "value_state": {\n "const": "redacted-secret",\n "description": "Value for value state.",\n "type": "string"\n }\n },\n "required": [\n "name",\n "domain",\n "path",\n "secure",\n "http_only",\n "same_site",\n "value_state",\n "value_sha256"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "local_storage": {\n "description": "Value for local storage.",\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "name": {\n "description": "Exact name used by this operation.",\n "type": "string"\n },\n "value_sha256": {\n "description": "Exact SHA-256 digest of value.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "value_state": {\n "const": "hashed",\n "description": "Value for value state.",\n "type": "string"\n }\n },\n "required": [\n "name",\n "value_state",\n "value_sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "name": {\n "description": "Exact name used by this operation.",\n "type": "string"\n },\n "value_sha256": {\n "description": "Exact SHA-256 digest of value.",\n "type": "null"\n },\n "value_state": {\n "const": "redacted-secret",\n "description": "Value for value state.",\n "type": "string"\n }\n },\n "required": [\n "name",\n "value_state",\n "value_sha256"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "session_storage": {\n "description": "Value for session storage.",\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "name": {\n "description": "Exact name used by this operation.",\n "type": "string"\n },\n "value_sha256": {\n "description": "Exact SHA-256 digest of value.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "value_state": {\n "const": "hashed",\n "description": "Value for value state.",\n "type": "string"\n }\n },\n "required": [\n "name",\n "value_state",\n "value_sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "name": {\n "description": "Exact name used by this operation.",\n "type": "string"\n },\n "value_sha256": {\n "description": "Exact SHA-256 digest of value.",\n "type": "null"\n },\n "value_state": {\n "const": "redacted-secret",\n "description": "Value for value state.",\n "type": "string"\n }\n },\n "required": [\n "name",\n "value_state",\n "value_sha256"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n }\n },\n "required": [\n "cookies",\n "local_storage",\n "session_storage"\n ],\n "type": "object"\n }\n },\n "required": [\n "state",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "not_requested",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "state": {\n "const": "missing",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "observed": {\n "description": "Value for observed.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "retained": {\n "description": "Value for retained.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "state": {\n "const": "truncated",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "observed",\n "retained",\n "reason"\n ],\n "type": "object"\n }\n ]\n },\n "url": {\n "description": "Value for url.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "captured",\n "description": "Value for state.",\n "type": "string"\n },\n "value": {\n "description": "Value for value.",\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "query_parameter_names": {\n "description": "Value for query parameter names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "description": "Value for redacted.",\n "type": "boolean"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n }\n },\n "required": [\n "state",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "not_requested",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "state": {\n "const": "missing",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "observed": {\n "description": "Value for observed.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "retained": {\n "description": "Value for retained.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "state": {\n "const": "truncated",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "observed",\n "retained",\n "reason"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "screenshot",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage"\n ],\n "type": "object"\n },\n "before_url": {\n "description": "Value for before url.",\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "query_parameter_names": {\n "description": "Value for query parameter names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "description": "Value for redacted.",\n "type": "boolean"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n },\n "completeness": {\n "description": "Value for completeness.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "equality_eligible": {\n "const": true,\n "description": "Value for equality eligible.",\n "type": "boolean"\n },\n "missing_sections": {\n "description": "Value for missing sections.",\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "status": {\n "const": "complete",\n "description": "Current lifecycle or verification status.",\n "type": "string"\n },\n "truncated_sections": {\n "description": "Value for truncated sections.",\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n }\n },\n "required": [\n "status",\n "equality_eligible",\n "missing_sections",\n "truncated_sections"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "equality_eligible": {\n "const": false,\n "description": "Value for equality eligible.",\n "type": "boolean"\n },\n "missing_sections": {\n "description": "Value for missing sections.",\n "items": {\n "enum": [\n "action",\n "screenshot",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage",\n "events",\n "frames",\n "workers",\n "popups",\n "websockets"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "status": {\n "const": "incomplete",\n "description": "Current lifecycle or verification status.",\n "type": "string"\n },\n "truncated_sections": {\n "description": "Value for truncated sections.",\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n }\n },\n "required": [\n "status",\n "equality_eligible",\n "missing_sections",\n "truncated_sections"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "equality_eligible": {\n "const": false,\n "description": "Value for equality eligible.",\n "type": "boolean"\n },\n "missing_sections": {\n "description": "Value for missing sections.",\n "items": {\n "enum": [\n "action",\n "screenshot",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage",\n "events",\n "frames",\n "workers",\n "popups",\n "websockets"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "status": {\n "const": "truncated",\n "description": "Current lifecycle or verification status.",\n "type": "string"\n },\n "truncated_sections": {\n "description": "Value for truncated sections.",\n "items": {\n "enum": [\n "action",\n "screenshot",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage",\n "events",\n "frames",\n "workers",\n "popups",\n "websockets"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "status",\n "equality_eligible",\n "missing_sections",\n "truncated_sections"\n ],\n "type": "object"\n }\n ]\n },\n "elapsed_ms": {\n "description": "Value for elapsed ms.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "error": {\n "description": "Structured, caller-actionable error when the operation fails.",\n "type": "null"\n },\n "event_sequence_end": {\n "description": "Value for event sequence end.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "event_sequence_start": {\n "description": "Value for event sequence start.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "status": {\n "const": "completed",\n "description": "Current lifecycle or verification status.",\n "type": "string"\n },\n "step_id": {\n "description": "Value for step id.",\n "minLength": 1,\n "type": "string"\n },\n "step_index": {\n "description": "Value for step index.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "step_index",\n "step_id",\n "action",\n "elapsed_ms",\n "before_url",\n "after_url",\n "event_sequence_start",\n "event_sequence_end",\n "artifacts",\n "completeness",\n "status",\n "error"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "action": {\n "description": "Value for action.",\n "minLength": 1,\n "type": "string"\n },\n "after_url": {\n "description": "Value for after url.",\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "query_parameter_names": {\n "description": "Value for query parameter names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "description": "Value for redacted.",\n "type": "boolean"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n },\n "artifacts": {\n "additionalProperties": false,\n "description": "Value for artifacts.",\n "properties": {\n "accessibility": {\n "description": "Value for accessibility.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "captured",\n "description": "Value for state.",\n "type": "string"\n },\n "value": {\n "additionalProperties": false,\n "description": "Value for value.",\n "properties": {\n "bytes": {\n "description": "Value for bytes.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "text": {\n "description": "Value for text.",\n "type": "string"\n }\n },\n "required": [\n "sha256",\n "bytes",\n "text"\n ],\n "type": "object"\n }\n },\n "required": [\n "state",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "not_requested",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "state": {\n "const": "missing",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "observed": {\n "description": "Value for observed.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "retained": {\n "description": "Value for retained.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "state": {\n "const": "truncated",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "observed",\n "retained",\n "reason"\n ],\n "type": "object"\n }\n ]\n },\n "dom": {\n "description": "Value for dom.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "captured",\n "description": "Value for state.",\n "type": "string"\n },\n "value": {\n "additionalProperties": false,\n "description": "Value for value.",\n "properties": {\n "bytes": {\n "description": "Value for bytes.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "text": {\n "description": "Value for text.",\n "type": "string"\n }\n },\n "required": [\n "sha256",\n "bytes",\n "text"\n ],\n "type": "object"\n }\n },\n "required": [\n "state",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "not_requested",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "state": {\n "const": "missing",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "observed": {\n "description": "Value for observed.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "retained": {\n "description": "Value for retained.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "state": {\n "const": "truncated",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "observed",\n "retained",\n "reason"\n ],\n "type": "object"\n }\n ]\n },\n "history": {\n "description": "Value for history.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "captured",\n "description": "Value for state.",\n "type": "string"\n },\n "value": {\n "additionalProperties": false,\n "description": "Value for value.",\n "properties": {\n "current_url": {\n "description": "Value for current url.",\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "query_parameter_names": {\n "description": "Value for query parameter names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "description": "Value for redacted.",\n "type": "boolean"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n },\n "length": {\n "description": "Value for length.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "navigation_entries": {\n "description": "Value for navigation entries.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "description": "Exact name used by this operation.",\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "query_parameter_names": {\n "description": "Value for query parameter names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "description": "Value for redacted.",\n "type": "boolean"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n },\n "type": {\n "description": "Value for type.",\n "enum": [\n "navigate",\n "reload",\n "back_forward",\n "prerender",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "type",\n "name"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "length",\n "current_url",\n "navigation_entries"\n ],\n "type": "object"\n }\n },\n "required": [\n "state",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "not_requested",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "state": {\n "const": "missing",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "observed": {\n "description": "Value for observed.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "retained": {\n "description": "Value for retained.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "state": {\n "const": "truncated",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "observed",\n "retained",\n "reason"\n ],\n "type": "object"\n }\n ]\n },\n "screenshot": {\n "description": "Value for screenshot.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "captured",\n "description": "Value for state.",\n "type": "string"\n },\n "value": {\n "description": "Value for value.",\n "properties": {\n "bytes": {\n "description": "Value for bytes.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "data_base64": {\n "description": "Value for data base64.",\n "type": "string"\n },\n "media_type": {\n "const": "image/png",\n "description": "Value for media type.",\n "type": "string"\n },\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256",\n "bytes",\n "media_type",\n "data_base64"\n ],\n "type": "object"\n }\n },\n "required": [\n "state",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "not_requested",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "state": {\n "const": "missing",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "observed": {\n "description": "Value for observed.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "retained": {\n "description": "Value for retained.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "state": {\n "const": "truncated",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "observed",\n "retained",\n "reason"\n ],\n "type": "object"\n }\n ]\n },\n "storage": {\n "description": "Value for storage.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "captured",\n "description": "Value for state.",\n "type": "string"\n },\n "value": {\n "additionalProperties": false,\n "description": "Value for value.",\n "properties": {\n "cookies": {\n "description": "Value for cookies.",\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "domain": {\n "description": "Value for domain.",\n "type": "string"\n },\n "http_only": {\n "description": "Value for http only.",\n "type": "boolean"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "type": "string"\n },\n "same_site": {\n "description": "Value for same site.",\n "enum": [\n "Strict",\n "Lax",\n "None"\n ],\n "type": "string"\n },\n "secure": {\n "description": "Value for secure.",\n "type": "boolean"\n },\n "value_sha256": {\n "description": "Exact SHA-256 digest of value.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "value_state": {\n "const": "hashed",\n "description": "Value for value state.",\n "type": "string"\n }\n },\n "required": [\n "name",\n "domain",\n "path",\n "secure",\n "http_only",\n "same_site",\n "value_state",\n "value_sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "domain": {\n "description": "Value for domain.",\n "type": "string"\n },\n "http_only": {\n "description": "Value for http only.",\n "type": "boolean"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "type": "string"\n },\n "same_site": {\n "description": "Value for same site.",\n "enum": [\n "Strict",\n "Lax",\n "None"\n ],\n "type": "string"\n },\n "secure": {\n "description": "Value for secure.",\n "type": "boolean"\n },\n "value_sha256": {\n "description": "Exact SHA-256 digest of value.",\n "type": "null"\n },\n "value_state": {\n "const": "redacted-secret",\n "description": "Value for value state.",\n "type": "string"\n }\n },\n "required": [\n "name",\n "domain",\n "path",\n "secure",\n "http_only",\n "same_site",\n "value_state",\n "value_sha256"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "local_storage": {\n "description": "Value for local storage.",\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "name": {\n "description": "Exact name used by this operation.",\n "type": "string"\n },\n "value_sha256": {\n "description": "Exact SHA-256 digest of value.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "value_state": {\n "const": "hashed",\n "description": "Value for value state.",\n "type": "string"\n }\n },\n "required": [\n "name",\n "value_state",\n "value_sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "name": {\n "description": "Exact name used by this operation.",\n "type": "string"\n },\n "value_sha256": {\n "description": "Exact SHA-256 digest of value.",\n "type": "null"\n },\n "value_state": {\n "const": "redacted-secret",\n "description": "Value for value state.",\n "type": "string"\n }\n },\n "required": [\n "name",\n "value_state",\n "value_sha256"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "session_storage": {\n "description": "Value for session storage.",\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "name": {\n "description": "Exact name used by this operation.",\n "type": "string"\n },\n "value_sha256": {\n "description": "Exact SHA-256 digest of value.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "value_state": {\n "const": "hashed",\n "description": "Value for value state.",\n "type": "string"\n }\n },\n "required": [\n "name",\n "value_state",\n "value_sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "name": {\n "description": "Exact name used by this operation.",\n "type": "string"\n },\n "value_sha256": {\n "description": "Exact SHA-256 digest of value.",\n "type": "null"\n },\n "value_state": {\n "const": "redacted-secret",\n "description": "Value for value state.",\n "type": "string"\n }\n },\n "required": [\n "name",\n "value_state",\n "value_sha256"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n }\n },\n "required": [\n "cookies",\n "local_storage",\n "session_storage"\n ],\n "type": "object"\n }\n },\n "required": [\n "state",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "not_requested",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "state": {\n "const": "missing",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "observed": {\n "description": "Value for observed.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "retained": {\n "description": "Value for retained.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "state": {\n "const": "truncated",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "observed",\n "retained",\n "reason"\n ],\n "type": "object"\n }\n ]\n },\n "url": {\n "description": "Value for url.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "captured",\n "description": "Value for state.",\n "type": "string"\n },\n "value": {\n "description": "Value for value.",\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "query_parameter_names": {\n "description": "Value for query parameter names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "description": "Value for redacted.",\n "type": "boolean"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n }\n },\n "required": [\n "state",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "not_requested",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "state": {\n "const": "missing",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "observed": {\n "description": "Value for observed.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "retained": {\n "description": "Value for retained.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "state": {\n "const": "truncated",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "observed",\n "retained",\n "reason"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "screenshot",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage"\n ],\n "type": "object"\n },\n "before_url": {\n "description": "Value for before url.",\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "query_parameter_names": {\n "description": "Value for query parameter names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "description": "Value for redacted.",\n "type": "boolean"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n },\n "completeness": {\n "description": "Value for completeness.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "equality_eligible": {\n "const": true,\n "description": "Value for equality eligible.",\n "type": "boolean"\n },\n "missing_sections": {\n "description": "Value for missing sections.",\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "status": {\n "const": "complete",\n "description": "Current lifecycle or verification status.",\n "type": "string"\n },\n "truncated_sections": {\n "description": "Value for truncated sections.",\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n }\n },\n "required": [\n "status",\n "equality_eligible",\n "missing_sections",\n "truncated_sections"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "equality_eligible": {\n "const": false,\n "description": "Value for equality eligible.",\n "type": "boolean"\n },\n "missing_sections": {\n "description": "Value for missing sections.",\n "items": {\n "enum": [\n "action",\n "screenshot",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage",\n "events",\n "frames",\n "workers",\n "popups",\n "websockets"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "status": {\n "const": "incomplete",\n "description": "Current lifecycle or verification status.",\n "type": "string"\n },\n "truncated_sections": {\n "description": "Value for truncated sections.",\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n }\n },\n "required": [\n "status",\n "equality_eligible",\n "missing_sections",\n "truncated_sections"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "equality_eligible": {\n "const": false,\n "description": "Value for equality eligible.",\n "type": "boolean"\n },\n "missing_sections": {\n "description": "Value for missing sections.",\n "items": {\n "enum": [\n "action",\n "screenshot",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage",\n "events",\n "frames",\n "workers",\n "popups",\n "websockets"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "status": {\n "const": "truncated",\n "description": "Current lifecycle or verification status.",\n "type": "string"\n },\n "truncated_sections": {\n "description": "Value for truncated sections.",\n "items": {\n "enum": [\n "action",\n "screenshot",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage",\n "events",\n "frames",\n "workers",\n "popups",\n "websockets"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "status",\n "equality_eligible",\n "missing_sections",\n "truncated_sections"\n ],\n "type": "object"\n }\n ]\n },\n "elapsed_ms": {\n "description": "Value for elapsed ms.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "error": {\n "description": "Structured, caller-actionable error when the operation fails.",\n "type": "string"\n },\n "event_sequence_end": {\n "description": "Value for event sequence end.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "event_sequence_start": {\n "description": "Value for event sequence start.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "status": {\n "description": "Current lifecycle or verification status.",\n "enum": [\n "failed",\n "cancelled"\n ],\n "type": "string"\n },\n "step_id": {\n "description": "Value for step id.",\n "minLength": 1,\n "type": "string"\n },\n "step_index": {\n "description": "Value for step index.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "step_index",\n "step_id",\n "action",\n "elapsed_ms",\n "before_url",\n "after_url",\n "event_sequence_start",\n "event_sequence_end",\n "artifacts",\n "completeness",\n "status",\n "error"\n ],\n "type": "object"\n }\n ]\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "browser",\n "scenario",\n "duration_ms",\n "steps",\n "events",\n "completeness",\n "limitations"\n ],\n "type": "object"\n },\n "before": {\n "description": "Earlier passive web-page capture.",\n "properties": {\n "inspection": {\n "description": "Value for inspection.",\n "properties": {\n "accessibility": {\n "description": "Value for accessibility.",\n "properties": {\n "nodes": {\n "description": "Value for nodes.",\n "items": {\n "properties": {\n "description": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for description."\n },\n "ignored": {\n "description": "Value for ignored.",\n "type": "boolean"\n },\n "name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Exact name used by this operation."\n },\n "node_id": {\n "description": "Value for node id.",\n "type": "string"\n },\n "parent_id": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for parent id."\n },\n "role": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for role."\n },\n "states": {\n "default": [],\n "description": "Value for states.",\n "items": {\n "properties": {\n "name": {\n "description": "Exact name used by this operation.",\n "type": "string"\n },\n "value": {\n "anyOf": [\n {\n "type": "boolean"\n },\n {\n "type": "number"\n },\n {\n "type": "string"\n }\n ],\n "description": "Value for value."\n }\n },\n "required": [\n "name",\n "value"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "node_id",\n "parent_id",\n "role",\n "name",\n "description",\n "ignored"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "text_capture": {\n "description": "Value for text capture.",\n "properties": {\n "excluded_fields": {\n "description": "Value for excluded fields.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "retained_bytes": {\n "description": "Byte count for retained.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "status": {\n "description": "Current lifecycle or verification status.",\n "enum": [\n "not_approved",\n "included",\n "unavailable"\n ],\n "type": "string"\n }\n },\n "required": [\n "status",\n "retained_bytes",\n "excluded_fields"\n ],\n "type": "object"\n },\n "total_nodes": {\n "description": "Value for total nodes.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "total_nodes",\n "text_capture",\n "nodes"\n ],\n "type": "object"\n },\n "browser": {\n "description": "Value for browser.",\n "properties": {\n "js_version": {\n "description": "Value for js version.",\n "type": "string"\n },\n "product": {\n "description": "Value for product.",\n "type": "string"\n },\n "protocol_version": {\n "description": "Value for protocol version.",\n "type": "string"\n },\n "revision": {\n "description": "Value for revision.",\n "type": "string"\n },\n "user_agent": {\n "description": "Value for user agent.",\n "type": "string"\n }\n },\n "required": [\n "product",\n "protocol_version",\n "revision",\n "user_agent",\n "js_version"\n ],\n "type": "object"\n },\n "capture_window": {\n "description": "Value for capture window.",\n "properties": {\n "ended_at": {\n "description": "Value for ended at.",\n "format": "date-time",\n "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))$",\n "type": "string"\n },\n "observation_ms": {\n "description": "Value for observation ms.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "started_at": {\n "description": "Value for started at.",\n "format": "date-time",\n "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))$",\n "type": "string"\n }\n },\n "required": [\n "started_at",\n "ended_at",\n "observation_ms"\n ],\n "type": "object"\n },\n "completeness": {\n "description": "Value for completeness.",\n "properties": {\n "attach_limited_sections": {\n "description": "Value for attach limited sections.",\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "conditions": {\n "description": "Value for conditions.",\n "items": {\n "enum": [\n "complete_within_window",\n "policy_filtered",\n "attach_limited",\n "truncated"\n ],\n "type": "string"\n },\n "maxItems": 3,\n "minItems": 1,\n "type": "array"\n },\n "dropped_events": {\n "description": "Value for dropped events.",\n "properties": {\n "console_events": {\n "description": "Value for console events.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "network_requests": {\n "description": "Value for network requests.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "scripts": {\n "description": "Value for scripts.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "timeline_events": {\n "description": "Value for timeline events.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "total": {\n "description": "Value for total.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "webmcp_tools": {\n "description": "Value for webmcp tools.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "websocket_connections": {\n "description": "Value for websocket connections.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "websocket_frames": {\n "description": "Value for websocket frames.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "scripts",\n "network_requests",\n "console_events",\n "websocket_connections",\n "websocket_frames",\n "webmcp_tools",\n "timeline_events",\n "total"\n ],\n "type": "object"\n },\n "excluded": {\n "description": "Value for excluded.",\n "items": {\n "properties": {\n "count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for count."\n },\n "reason": {\n "description": "Value for reason.",\n "enum": [\n "disallowed_origin",\n "unsupported_url",\n "unattributed_origin",\n "not_approved",\n "out_of_target_scope",\n "provider_unavailable",\n "invalid_protocol_value"\n ],\n "type": "string"\n },\n "section": {\n "description": "Value for section.",\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n }\n },\n "required": [\n "section",\n "reason",\n "count"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "policy_filtered_sections": {\n "description": "Value for policy filtered sections.",\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "status": {\n "description": "Current lifecycle or verification status.",\n "enum": [\n "complete_within_window",\n "policy_filtered",\n "attach_limited",\n "truncated"\n ],\n "type": "string"\n },\n "truncated_sections": {\n "description": "Value for truncated sections.",\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "unavailable_sections": {\n "description": "Value for unavailable sections.",\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n }\n },\n "required": [\n "status",\n "conditions",\n "policy_filtered_sections",\n "attach_limited_sections",\n "truncated_sections",\n "unavailable_sections",\n "excluded",\n "dropped_events"\n ],\n "type": "object"\n },\n "console": {\n "description": "Value for console.",\n "properties": {\n "coverage_started_at": {\n "description": "Value for coverage started at.",\n "format": "date-time",\n "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))$",\n "type": "string"\n },\n "events": {\n "description": "Value for events.",\n "items": {\n "properties": {\n "argument_types": {\n "description": "Value for argument types.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "column": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for column."\n },\n "line": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for line."\n },\n "text_capture": {\n "description": "Value for text capture.",\n "properties": {\n "retained_bytes": {\n "description": "Byte count for retained.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "status": {\n "description": "Current lifecycle or verification status.",\n "enum": [\n "not_approved",\n "included"\n ],\n "type": "string"\n },\n "values": {\n "description": "Value for values.",\n "items": {\n "properties": {\n "argument_index": {\n "description": "Value for argument index.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "text": {\n "description": "Value for text.",\n "type": "string"\n },\n "type": {\n "description": "Value for type.",\n "type": "string"\n }\n },\n "required": [\n "argument_index",\n "type",\n "text"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "status",\n "values",\n "retained_bytes"\n ],\n "type": "object"\n },\n "timestamp": {\n "description": "Value for timestamp.",\n "type": "number"\n },\n "type": {\n "description": "Value for type.",\n "type": "string"\n },\n "url": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for url."\n }\n },\n "required": [\n "type",\n "timestamp",\n "argument_types",\n "url",\n "line",\n "column",\n "text_capture"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "prior_activity_available": {\n "const": false,\n "description": "Value for prior activity available.",\n "type": "boolean"\n }\n },\n "required": [\n "events",\n "coverage_started_at",\n "prior_activity_available"\n ],\n "type": "object"\n },\n "dom": {\n "description": "Value for dom.",\n "properties": {\n "nodes": {\n "description": "Value for nodes.",\n "items": {\n "properties": {\n "attribute_names": {\n "description": "Value for attribute names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "index": {\n "description": "Value for index.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "node_name": {\n "description": "Value for node name.",\n "type": "string"\n },\n "node_type": {\n "description": "Value for node type.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "node_value_length": {\n "description": "Value for node value length.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "parent_index": {\n "description": "Value for parent index.",\n "maximum": 9007199254740991,\n "minimum": -1,\n "type": "integer"\n }\n },\n "required": [\n "index",\n "parent_index",\n "node_type",\n "node_name",\n "node_value_length",\n "attribute_names"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "total_nodes": {\n "description": "Value for total nodes.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "total_nodes",\n "nodes"\n ],\n "type": "object"\n },\n "frames": {\n "description": "Value for frames.",\n "items": {\n "properties": {\n "frame_id": {\n "description": "Value for frame id.",\n "type": "string"\n },\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "parent_frame_id": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for parent frame id."\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "frame_id",\n "parent_frame_id",\n "url",\n "origin"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "metadata": {\n "description": "Value for metadata.",\n "properties": {\n "agent_hints": {\n "description": "Value for agent hints.",\n "items": {\n "properties": {\n "declaration": {\n "description": "Value for declaration.",\n "type": "string"\n },\n "mechanism": {\n "description": "Value for mechanism.",\n "enum": [\n "link_rel",\n "dom_link_rel",\n "well_known_resource",\n "response_header"\n ],\n "type": "string"\n },\n "trust": {\n "const": "page-declared-untrusted",\n "description": "Value for trust.",\n "type": "string"\n },\n "url": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for url."\n }\n },\n "required": [\n "mechanism",\n "declaration",\n "url",\n "trust"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "dom_urls": {\n "description": "Value for dom urls.",\n "items": {\n "properties": {\n "attribute": {\n "description": "Value for attribute.",\n "enum": [\n "href",\n "src",\n "action",\n "formaction",\n "poster"\n ],\n "type": "string"\n },\n "destination_scope": {\n "description": "Value for destination scope.",\n "enum": [\n "approved",\n "outside_policy",\n "unsupported"\n ],\n "type": "string"\n },\n "node_index": {\n "description": "Value for node index.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "url": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for url."\n }\n },\n "required": [\n "node_index",\n "attribute",\n "url",\n "destination_scope"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "excluded_dom_urls": {\n "description": "Value for excluded dom urls.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "headers_allowlisted": {\n "const": true,\n "description": "Value for headers allowlisted.",\n "type": "boolean"\n },\n "responses": {\n "description": "Value for responses.",\n "items": {\n "properties": {\n "content_encoding": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for content encoding."\n },\n "content_length": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for content length."\n },\n "csp": {\n "description": "Value for csp.",\n "properties": {\n "directives": {\n "description": "Value for directives.",\n "items": {\n "properties": {\n "name": {\n "description": "Exact name used by this operation.",\n "type": "string"\n },\n "sources": {\n "description": "Value for sources.",\n "items": {\n "properties": {\n "kind": {\n "description": "Value for kind.",\n "enum": [\n "keyword",\n "scheme",\n "approved_origin",\n "external_origin",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for value."\n }\n },\n "required": [\n "kind",\n "value"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "name",\n "sources"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "hash_count": {\n "description": "Value for hash count.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "nonce_count": {\n "description": "Value for nonce count.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "directives",\n "nonce_count",\n "hash_count"\n ],\n "type": "object"\n },\n "links": {\n "description": "Value for links.",\n "items": {\n "properties": {\n "as": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for as."\n },\n "crossorigin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for crossorigin."\n },\n "destination_scope": {\n "description": "Value for destination scope.",\n "enum": [\n "approved",\n "outside_policy",\n "unsupported"\n ],\n "type": "string"\n },\n "href": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for href."\n },\n "rel": {\n "description": "Value for rel.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for type."\n }\n },\n "required": [\n "href",\n "destination_scope",\n "rel",\n "as",\n "type",\n "crossorigin"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "mime_type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for mime type."\n },\n "policies": {\n "description": "Value for policies.",\n "properties": {\n "coep": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for coep."\n },\n "coop": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for coop."\n },\n "corp": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for corp."\n },\n "permissions_policy_features": {\n "description": "Value for permissions policy features.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "referrer_policy": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for referrer policy."\n },\n "x_content_type_options": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for x content type options."\n }\n },\n "required": [\n "coop",\n "coep",\n "corp",\n "referrer_policy",\n "x_content_type_options",\n "permissions_policy_features"\n ],\n "type": "object"\n },\n "request_id": {\n "description": "Value for request id.",\n "type": "string"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "request_id",\n "url",\n "mime_type",\n "content_length",\n "content_encoding",\n "csp",\n "links",\n "policies"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "responses",\n "dom_urls",\n "agent_hints",\n "excluded_dom_urls",\n "headers_allowlisted"\n ],\n "type": "object"\n },\n "network": {\n "description": "Value for network.",\n "properties": {\n "coverage_started_at": {\n "description": "Value for coverage started at.",\n "format": "date-time",\n "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))$",\n "type": "string"\n },\n "prior_activity_available": {\n "const": false,\n "description": "Value for prior activity available.",\n "type": "boolean"\n },\n "requests": {\n "description": "Value for requests.",\n "items": {\n "properties": {\n "body_shapes": {\n "description": "Value for body shapes.",\n "properties": {\n "request": {\n "anyOf": [\n {\n "properties": {\n "max_depth_observed": {\n "description": "Maximum permitted depth observed for this operation.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "node_count": {\n "description": "Value for node count.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "properties": {\n "description": "Value for properties.",\n "items": {\n "properties": {\n "observations": {\n "description": "Value for observations.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "type": "string"\n },\n "types": {\n "description": "Value for types.",\n "items": {\n "enum": [\n "object",\n "array",\n "string",\n "number",\n "boolean",\n "null"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "path",\n "types",\n "observations"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "root_type": {\n "description": "Value for root type.",\n "enum": [\n "object",\n "array",\n "string",\n "number",\n "boolean",\n "null"\n ],\n "type": "string"\n }\n },\n "required": [\n "root_type",\n "node_count",\n "max_depth_observed",\n "properties"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for request."\n },\n "response": {\n "anyOf": [\n {\n "properties": {\n "max_depth_observed": {\n "description": "Maximum permitted depth observed for this operation.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "node_count": {\n "description": "Value for node count.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "properties": {\n "description": "Value for properties.",\n "items": {\n "properties": {\n "observations": {\n "description": "Value for observations.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "type": "string"\n },\n "types": {\n "description": "Value for types.",\n "items": {\n "enum": [\n "object",\n "array",\n "string",\n "number",\n "boolean",\n "null"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "path",\n "types",\n "observations"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "root_type": {\n "description": "Value for root type.",\n "enum": [\n "object",\n "array",\n "string",\n "number",\n "boolean",\n "null"\n ],\n "type": "string"\n }\n },\n "required": [\n "root_type",\n "node_count",\n "max_depth_observed",\n "properties"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for response."\n },\n "status": {\n "description": "Current lifecycle or verification status.",\n "enum": [\n "not_approved",\n "included",\n "partial",\n "unavailable"\n ],\n "type": "string"\n }\n },\n "required": [\n "status",\n "request",\n "response"\n ],\n "type": "object"\n },\n "encoded_data_length": {\n "anyOf": [\n {\n "minimum": 0,\n "type": "number"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for encoded data length."\n },\n "initiator": {\n "description": "Value for initiator.",\n "properties": {\n "column": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for column."\n },\n "line": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for line."\n },\n "type": {\n "description": "Value for type.",\n "type": "string"\n },\n "url": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for url."\n }\n },\n "required": [\n "type",\n "url",\n "line",\n "column"\n ],\n "type": "object"\n },\n "method": {\n "description": "Value for method.",\n "type": "string"\n },\n "mime_type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for mime type."\n },\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "request_id": {\n "description": "Value for request id.",\n "type": "string"\n },\n "resource_type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for resource type."\n },\n "status": {\n "anyOf": [\n {\n "type": "number"\n },\n {\n "type": "null"\n }\n ],\n "description": "Current lifecycle or verification status."\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "request_id",\n "url",\n "origin",\n "method",\n "resource_type",\n "status",\n "mime_type",\n "encoded_data_length",\n "initiator",\n "body_shapes"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "websocket_events": {\n "description": "Value for websocket events.",\n "items": {\n "properties": {\n "direction": {\n "description": "Direction in which to traverse or compare relationships.",\n "enum": [\n "sent",\n "received"\n ],\n "type": "string"\n },\n "opcode": {\n "description": "Value for opcode.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "payload_bytes": {\n "description": "Byte count for payload.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "payload_shape": {\n "anyOf": [\n {\n "properties": {\n "format": {\n "description": "Declared input artifact format.",\n "enum": [\n "json",\n "text",\n "binary"\n ],\n "type": "string"\n },\n "json_shape": {\n "anyOf": [\n {\n "properties": {\n "max_depth_observed": {\n "description": "Maximum permitted depth observed for this operation.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "node_count": {\n "description": "Value for node count.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "properties": {\n "description": "Value for properties.",\n "items": {\n "properties": {\n "observations": {\n "description": "Value for observations.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "type": "string"\n },\n "types": {\n "description": "Value for types.",\n "items": {\n "enum": [\n "object",\n "array",\n "string",\n "number",\n "boolean",\n "null"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "path",\n "types",\n "observations"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "root_type": {\n "description": "Value for root type.",\n "enum": [\n "object",\n "array",\n "string",\n "number",\n "boolean",\n "null"\n ],\n "type": "string"\n }\n },\n "required": [\n "root_type",\n "node_count",\n "max_depth_observed",\n "properties"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for json shape."\n }\n },\n "required": [\n "format",\n "json_shape"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for payload shape."\n },\n "request_id": {\n "description": "Value for request id.",\n "type": "string"\n }\n },\n "required": [\n "request_id",\n "direction",\n "opcode",\n "payload_bytes",\n "payload_shape"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "requests",\n "websocket_events",\n "coverage_started_at",\n "prior_activity_available"\n ],\n "type": "object"\n },\n "resources": {\n "description": "Value for resources.",\n "items": {\n "properties": {\n "content_size": {\n "anyOf": [\n {\n "minimum": 0,\n "type": "number"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for content size."\n },\n "mime_type": {\n "description": "Value for mime type.",\n "type": "string"\n },\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "resource_key": {\n "description": "Value for resource key.",\n "pattern": "^res_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": {\n "description": "Value for type.",\n "type": "string"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "resource_key",\n "url",\n "origin",\n "type",\n "mime_type",\n "content_size"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "scripts": {\n "description": "Value for scripts.",\n "properties": {\n "items": {\n "description": "Value for items.",\n "items": {\n "properties": {\n "cdp_hash": {\n "description": "Value for cdp hash.",\n "type": "string"\n },\n "frame_id": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "Value for frame id."\n },\n "is_module": {\n "description": "Whether is module.",\n "type": "boolean"\n },\n "language": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for language."\n },\n "length": {\n "description": "Value for length.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "resource_reconciliation": {\n "description": "Value for resource reconciliation.",\n "oneOf": [\n {\n "properties": {\n "resource_key": {\n "description": "Value for resource key.",\n "type": "string"\n },\n "status": {\n "const": "exact",\n "description": "Current lifecycle or verification status.",\n "type": "string"\n }\n },\n "required": [\n "status",\n "resource_key"\n ],\n "type": "object"\n },\n {\n "properties": {\n "candidate_resource_keys": {\n "description": "Value for candidate resource keys.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "status": {\n "const": "ambiguous",\n "description": "Current lifecycle or verification status.",\n "type": "string"\n }\n },\n "required": [\n "status",\n "candidate_resource_keys"\n ],\n "type": "object"\n },\n {\n "properties": {\n "reason": {\n "const": "no_exact_sanitized_url",\n "description": "Value for reason.",\n "type": "string"\n },\n "status": {\n "const": "unmatched",\n "description": "Current lifecycle or verification status.",\n "type": "string"\n }\n },\n "required": [\n "status",\n "reason"\n ],\n "type": "object"\n }\n ]\n },\n "script_key": {\n "description": "Value for script key.",\n "pattern": "^scr_[a-f0-9]{64}(?:_[0-9]+)?$",\n "type": "string"\n },\n "source": {\n "description": "Value for source.",\n "oneOf": [\n {\n "properties": {\n "included": {\n "const": false,\n "description": "Value for included.",\n "type": "boolean"\n },\n "reason": {\n "description": "Value for reason.",\n "type": "string"\n }\n },\n "required": [\n "included",\n "reason"\n ],\n "type": "object"\n },\n {\n "properties": {\n "artifact": {\n "description": "Value for artifact.",\n "properties": {\n "bytes": {\n "description": "Value for bytes.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "charset": {\n "const": "utf-8",\n "description": "Value for charset.",\n "type": "string"\n },\n "media_type": {\n "description": "Value for media type.",\n "minLength": 1,\n "type": "string"\n },\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "text": {\n "description": "Value for text.",\n "type": "string"\n }\n },\n "required": [\n "sha256",\n "bytes",\n "media_type",\n "charset",\n "text"\n ],\n "type": "object"\n },\n "included": {\n "const": true,\n "description": "Value for included.",\n "type": "boolean"\n }\n },\n "required": [\n "included",\n "artifact"\n ],\n "type": "object"\n }\n ]\n },\n "source_map_url": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for source map url."\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "script_key",\n "url",\n "origin",\n "cdp_hash",\n "length",\n "is_module",\n "language",\n "source_map_url",\n "resource_reconciliation",\n "source"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "total": {\n "description": "Value for total.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "total",\n "items"\n ],\n "type": "object"\n },\n "storage": {\n "description": "Value for storage.",\n "properties": {\n "cache_names": {\n "description": "Value for cache names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "content_fingerprints": {\n "default": [],\n "description": "Value for content fingerprints.",\n "items": {\n "properties": {\n "complete": {\n "description": "Value for complete.",\n "type": "boolean"\n },\n "identity_sha256": {\n "description": "Exact SHA-256 digest of identity.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "scope": {\n "description": "Value for scope.",\n "enum": [\n "cookie",\n "local_storage",\n "session_storage",\n "indexed_db_schema",\n "indexed_db_record",\n "cache_entry"\n ],\n "type": "string"\n },\n "value_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Exact SHA-256 digest of value."\n }\n },\n "required": [\n "scope",\n "identity_sha256",\n "value_sha256",\n "complete"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "fingerprint_algorithm": {\n "const": "sha256",\n "default": "sha256",\n "description": "Value for fingerprint algorithm.",\n "type": "string"\n },\n "fingerprints_complete": {\n "default": false,\n "description": "Value for fingerprints complete.",\n "type": "boolean"\n },\n "indexed_db_names": {\n "description": "Value for indexed db names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "local_storage_keys": {\n "description": "Value for local storage keys.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "origin": {\n "description": "Value for origin.",\n "type": "string"\n },\n "quota_bytes": {\n "anyOf": [\n {\n "minimum": 0,\n "type": "number"\n },\n {\n "type": "null"\n }\n ],\n "description": "Byte count for quota."\n },\n "session_storage_keys": {\n "description": "Value for session storage keys.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "usage_bytes": {\n "anyOf": [\n {\n "minimum": 0,\n "type": "number"\n },\n {\n "type": "null"\n }\n ],\n "description": "Byte count for usage."\n },\n "values_redacted": {\n "const": true,\n "description": "Value for values redacted.",\n "type": "boolean"\n }\n },\n "required": [\n "origin",\n "usage_bytes",\n "quota_bytes",\n "local_storage_keys",\n "session_storage_keys",\n "indexed_db_names",\n "cache_names",\n "values_redacted"\n ],\n "type": "object"\n },\n "target": {\n "description": "Value for target.",\n "properties": {\n "attached": {\n "description": "Value for attached.",\n "type": "boolean"\n },\n "origin": {\n "description": "Value for origin.",\n "type": "string"\n },\n "target_id": {\n "description": "Exact CDP target identifier selected from the endpoint\'s target listing.",\n "type": "string"\n },\n "title": {\n "description": "Value for title.",\n "type": "string"\n },\n "type": {\n "description": "Value for type.",\n "type": "string"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "target_id",\n "type",\n "title",\n "url",\n "origin",\n "attached"\n ],\n "type": "object"\n },\n "workers": {\n "description": "Value for workers.",\n "items": {\n "properties": {\n "attached": {\n "description": "Value for attached.",\n "type": "boolean"\n },\n "opener_target_id": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "Value for opener target id."\n },\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "parent_frame_id": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "Value for parent frame id."\n },\n "target_id": {\n "description": "Exact CDP target identifier selected from the endpoint\'s target listing.",\n "type": "string"\n },\n "type": {\n "description": "Value for type.",\n "type": "string"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "target_id",\n "type",\n "url",\n "origin",\n "attached"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "browser",\n "target",\n "capture_window",\n "completeness",\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "resources",\n "network",\n "console",\n "workers",\n "metadata",\n "storage",\n "limitations"\n ],\n "type": "object"\n },\n "webmcp": {\n "anyOf": [\n {\n "properties": {\n "browser": {\n "description": "Value for browser.",\n "properties": {\n "js_version": {\n "description": "Value for js version.",\n "type": "string"\n },\n "product": {\n "description": "Value for product.",\n "type": "string"\n },\n "protocol_version": {\n "description": "Value for protocol version.",\n "type": "string"\n },\n "revision": {\n "description": "Value for revision.",\n "type": "string"\n },\n "user_agent": {\n "description": "Value for user agent.",\n "type": "string"\n }\n },\n "required": [\n "product",\n "protocol_version",\n "revision",\n "user_agent",\n "js_version"\n ],\n "type": "object"\n },\n "completeness": {\n "description": "Value for completeness.",\n "properties": {\n "attach_limited_sections": {\n "description": "Value for attach limited sections.",\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "conditions": {\n "description": "Value for conditions.",\n "items": {\n "enum": [\n "complete_within_window",\n "policy_filtered",\n "attach_limited",\n "truncated"\n ],\n "type": "string"\n },\n "maxItems": 3,\n "minItems": 1,\n "type": "array"\n },\n "dropped_events": {\n "description": "Value for dropped events.",\n "properties": {\n "console_events": {\n "description": "Value for console events.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "network_requests": {\n "description": "Value for network requests.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "scripts": {\n "description": "Value for scripts.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "timeline_events": {\n "description": "Value for timeline events.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "total": {\n "description": "Value for total.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "webmcp_tools": {\n "description": "Value for webmcp tools.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "websocket_connections": {\n "description": "Value for websocket connections.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "websocket_frames": {\n "description": "Value for websocket frames.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "scripts",\n "network_requests",\n "console_events",\n "websocket_connections",\n "websocket_frames",\n "webmcp_tools",\n "timeline_events",\n "total"\n ],\n "type": "object"\n },\n "excluded": {\n "description": "Value for excluded.",\n "items": {\n "properties": {\n "count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for count."\n },\n "reason": {\n "description": "Value for reason.",\n "enum": [\n "disallowed_origin",\n "unsupported_url",\n "unattributed_origin",\n "not_approved",\n "out_of_target_scope",\n "provider_unavailable",\n "invalid_protocol_value"\n ],\n "type": "string"\n },\n "section": {\n "description": "Value for section.",\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n }\n },\n "required": [\n "section",\n "reason",\n "count"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "policy_filtered_sections": {\n "description": "Value for policy filtered sections.",\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "status": {\n "description": "Current lifecycle or verification status.",\n "enum": [\n "complete_within_window",\n "policy_filtered",\n "attach_limited",\n "truncated"\n ],\n "type": "string"\n },\n "truncated_sections": {\n "description": "Value for truncated sections.",\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "unavailable_sections": {\n "description": "Value for unavailable sections.",\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n }\n },\n "required": [\n "status",\n "conditions",\n "policy_filtered_sections",\n "attach_limited_sections",\n "truncated_sections",\n "unavailable_sections",\n "excluded",\n "dropped_events"\n ],\n "type": "object"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "status": {\n "description": "Current lifecycle or verification status.",\n "enum": [\n "available",\n "unavailable"\n ],\n "type": "string"\n },\n "target": {\n "description": "Value for target.",\n "properties": {\n "origin": {\n "description": "Value for origin.",\n "type": "string"\n },\n "target_id": {\n "description": "Exact CDP target identifier selected from the endpoint\'s target listing.",\n "type": "string"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "target_id",\n "url",\n "origin"\n ],\n "type": "object"\n },\n "tools": {\n "description": "Value for tools.",\n "properties": {\n "items": {\n "description": "Value for items.",\n "items": {\n "properties": {\n "annotations": {\n "description": "Value for annotations.",\n "properties": {\n "autosubmit": {\n "anyOf": [\n {\n "type": "boolean"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for autosubmit."\n },\n "read_only": {\n "anyOf": [\n {\n "type": "boolean"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for read only."\n },\n "untrusted_content": {\n "anyOf": [\n {\n "type": "boolean"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for untrusted content."\n }\n },\n "required": [\n "read_only",\n "untrusted_content",\n "autosubmit"\n ],\n "type": "object"\n },\n "declaration_kind": {\n "description": "Value for declaration kind.",\n "enum": [\n "declarative",\n "imperative"\n ],\n "type": "string"\n },\n "description": {\n "description": "Value for description.",\n "type": "string"\n },\n "frame_id": {\n "description": "Value for frame id.",\n "type": "string"\n },\n "frame_url": {\n "description": "Value for frame url.",\n "type": "string"\n },\n "input_schema_shape": {\n "anyOf": [\n {\n "properties": {\n "max_depth_observed": {\n "description": "Maximum permitted depth observed for this operation.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "node_count": {\n "description": "Value for node count.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "properties": {\n "description": "Value for properties.",\n "items": {\n "properties": {\n "observations": {\n "description": "Value for observations.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "type": "string"\n },\n "types": {\n "description": "Value for types.",\n "items": {\n "enum": [\n "object",\n "array",\n "string",\n "number",\n "boolean",\n "null"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "path",\n "types",\n "observations"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "root_type": {\n "description": "Value for root type.",\n "enum": [\n "object",\n "array",\n "string",\n "number",\n "boolean",\n "null"\n ],\n "type": "string"\n }\n },\n "required": [\n "root_type",\n "node_count",\n "max_depth_observed",\n "properties"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for input schema shape."\n },\n "name": {\n "description": "Exact name used by this operation.",\n "type": "string"\n },\n "owner_origin": {\n "description": "Value for owner origin.",\n "type": "string"\n },\n "registration_source": {\n "anyOf": [\n {\n "properties": {\n "column": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for column."\n },\n "line": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for line."\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "url",\n "line",\n "column"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for registration source."\n },\n "tool_key": {\n "description": "Value for tool key.",\n "pattern": "^webmcp_[a-f0-9]{64}$",\n "type": "string"\n },\n "trust": {\n "const": "page-declared-untrusted",\n "description": "Value for trust.",\n "type": "string"\n }\n },\n "required": [\n "tool_key",\n "name",\n "description",\n "frame_id",\n "frame_url",\n "owner_origin",\n "declaration_kind",\n "input_schema_shape",\n "annotations",\n "registration_source",\n "trust"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "total": {\n "description": "Value for total.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "total",\n "items"\n ],\n "type": "object"\n }\n },\n "required": [\n "browser",\n "target",\n "status",\n "tools",\n "completeness",\n "limitations"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "Value for webmcp."\n }\n },\n "required": [\n "inspection"\n ],\n "type": "object"\n },\n "before_scenario": {\n "additionalProperties": false,\n "description": "Earlier browser scenario capture.",\n "properties": {\n "browser": {\n "additionalProperties": false,\n "description": "Value for browser.",\n "properties": {\n "cleanup": {\n "description": "Value for cleanup.",\n "enum": [\n "terminated-owned-process",\n "disconnected-external"\n ],\n "type": "string"\n },\n "mode": {\n "description": "Operation mode that selects the requested behavior.",\n "enum": [\n "launch",\n "connect"\n ],\n "type": "string"\n },\n "process_ownership": {\n "description": "Value for process ownership.",\n "enum": [\n "provider-owned",\n "external"\n ],\n "type": "string"\n },\n "product": {\n "description": "Value for product.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "description": "Value for version.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "mode",\n "process_ownership",\n "cleanup",\n "product",\n "version"\n ],\n "type": "object"\n },\n "completeness": {\n "description": "Value for completeness.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "equality_eligible": {\n "const": true,\n "description": "Value for equality eligible.",\n "type": "boolean"\n },\n "missing_sections": {\n "description": "Value for missing sections.",\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "status": {\n "const": "complete",\n "description": "Current lifecycle or verification status.",\n "type": "string"\n },\n "truncated_sections": {\n "description": "Value for truncated sections.",\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n }\n },\n "required": [\n "status",\n "equality_eligible",\n "missing_sections",\n "truncated_sections"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "equality_eligible": {\n "const": false,\n "description": "Value for equality eligible.",\n "type": "boolean"\n },\n "missing_sections": {\n "description": "Value for missing sections.",\n "items": {\n "enum": [\n "action",\n "screenshot",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage",\n "events",\n "frames",\n "workers",\n "popups",\n "websockets"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "status": {\n "const": "incomplete",\n "description": "Current lifecycle or verification status.",\n "type": "string"\n },\n "truncated_sections": {\n "description": "Value for truncated sections.",\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n }\n },\n "required": [\n "status",\n "equality_eligible",\n "missing_sections",\n "truncated_sections"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "equality_eligible": {\n "const": false,\n "description": "Value for equality eligible.",\n "type": "boolean"\n },\n "missing_sections": {\n "description": "Value for missing sections.",\n "items": {\n "enum": [\n "action",\n "screenshot",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage",\n "events",\n "frames",\n "workers",\n "popups",\n "websockets"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "status": {\n "const": "truncated",\n "description": "Current lifecycle or verification status.",\n "type": "string"\n },\n "truncated_sections": {\n "description": "Value for truncated sections.",\n "items": {\n "enum": [\n "action",\n "screenshot",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage",\n "events",\n "frames",\n "workers",\n "popups",\n "websockets"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "status",\n "equality_eligible",\n "missing_sections",\n "truncated_sections"\n ],\n "type": "object"\n }\n ]\n },\n "duration_ms": {\n "description": "Value for duration ms.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "events": {\n "additionalProperties": false,\n "description": "Value for events.",\n "properties": {\n "dropped": {\n "description": "Value for dropped.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "items": {\n "description": "Value for items.",\n "items": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "console",\n "description": "Value for kind.",\n "type": "string"\n },\n "level": {\n "description": "Value for level.",\n "minLength": 1,\n "type": "string"\n },\n "sequence": {\n "description": "Value for sequence.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "step_index": {\n "description": "Value for step index.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "text": {\n "description": "Value for text.",\n "type": "string"\n },\n "url": {\n "anyOf": [\n {\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "query_parameter_names": {\n "description": "Value for query parameter names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "description": "Value for redacted.",\n "type": "boolean"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for url."\n }\n },\n "required": [\n "sequence",\n "step_index",\n "kind",\n "level",\n "text",\n "url"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "page-error",\n "description": "Value for kind.",\n "type": "string"\n },\n "message": {\n "description": "Value for message.",\n "type": "string"\n },\n "sequence": {\n "description": "Value for sequence.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "stack": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for stack."\n },\n "step_index": {\n "description": "Value for step index.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "sequence",\n "step_index",\n "kind",\n "message",\n "stack"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "failure": {\n "description": "Value for failure.",\n "type": "null"\n },\n "header_names": {\n "description": "Value for header names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "kind": {\n "const": "request",\n "description": "Value for kind.",\n "type": "string"\n },\n "method": {\n "description": "Value for method.",\n "minLength": 1,\n "type": "string"\n },\n "redirected_from_transaction_id": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for redirected from transaction id."\n },\n "resource_type": {\n "description": "Value for resource type.",\n "minLength": 1,\n "type": "string"\n },\n "sequence": {\n "description": "Value for sequence.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "status": {\n "description": "Current lifecycle or verification status.",\n "type": "null"\n },\n "step_index": {\n "description": "Value for step index.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "transaction_id": {\n "description": "Value for transaction id.",\n "minLength": 1,\n "type": "string"\n },\n "url": {\n "description": "Value for url.",\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "query_parameter_names": {\n "description": "Value for query parameter names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "description": "Value for redacted.",\n "type": "boolean"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n }\n },\n "required": [\n "sequence",\n "step_index",\n "method",\n "url",\n "resource_type",\n "header_names",\n "kind",\n "status",\n "failure"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "failure": {\n "description": "Value for failure.",\n "type": "null"\n },\n "header_names": {\n "description": "Value for header names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "kind": {\n "const": "response",\n "description": "Value for kind.",\n "type": "string"\n },\n "method": {\n "description": "Value for method.",\n "minLength": 1,\n "type": "string"\n },\n "redirected_from_transaction_id": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for redirected from transaction id."\n },\n "resource_type": {\n "description": "Value for resource type.",\n "minLength": 1,\n "type": "string"\n },\n "sequence": {\n "description": "Value for sequence.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "status": {\n "description": "Current lifecycle or verification status.",\n "maximum": 599,\n "minimum": 100,\n "type": "integer"\n },\n "step_index": {\n "description": "Value for step index.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "transaction_id": {\n "description": "Value for transaction id.",\n "minLength": 1,\n "type": "string"\n },\n "url": {\n "description": "Value for url.",\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "query_parameter_names": {\n "description": "Value for query parameter names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "description": "Value for redacted.",\n "type": "boolean"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n }\n },\n "required": [\n "sequence",\n "step_index",\n "method",\n "url",\n "resource_type",\n "header_names",\n "kind",\n "status",\n "failure"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "failure": {\n "description": "Value for failure.",\n "minLength": 1,\n "type": "string"\n },\n "header_names": {\n "description": "Value for header names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "kind": {\n "const": "request-failed",\n "description": "Value for kind.",\n "type": "string"\n },\n "method": {\n "description": "Value for method.",\n "minLength": 1,\n "type": "string"\n },\n "redirected_from_transaction_id": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for redirected from transaction id."\n },\n "resource_type": {\n "description": "Value for resource type.",\n "minLength": 1,\n "type": "string"\n },\n "sequence": {\n "description": "Value for sequence.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "status": {\n "description": "Current lifecycle or verification status.",\n "type": "null"\n },\n "step_index": {\n "description": "Value for step index.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "transaction_id": {\n "description": "Value for transaction id.",\n "minLength": 1,\n "type": "string"\n },\n "url": {\n "description": "Value for url.",\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "query_parameter_names": {\n "description": "Value for query parameter names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "description": "Value for redacted.",\n "type": "boolean"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n }\n },\n "required": [\n "sequence",\n "step_index",\n "method",\n "url",\n "resource_type",\n "header_names",\n "kind",\n "status",\n "failure"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "failure": {\n "description": "Value for failure.",\n "type": "null"\n },\n "header_names": {\n "description": "Value for header names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "kind": {\n "const": "request-finished",\n "description": "Value for kind.",\n "type": "string"\n },\n "method": {\n "description": "Value for method.",\n "minLength": 1,\n "type": "string"\n },\n "redirected_from_transaction_id": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for redirected from transaction id."\n },\n "resource_type": {\n "description": "Value for resource type.",\n "minLength": 1,\n "type": "string"\n },\n "sequence": {\n "description": "Value for sequence.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "status": {\n "description": "Current lifecycle or verification status.",\n "type": "null"\n },\n "step_index": {\n "description": "Value for step index.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "transaction_id": {\n "description": "Value for transaction id.",\n "minLength": 1,\n "type": "string"\n },\n "url": {\n "description": "Value for url.",\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "query_parameter_names": {\n "description": "Value for query parameter names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "description": "Value for redacted.",\n "type": "boolean"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n }\n },\n "required": [\n "sequence",\n "step_index",\n "method",\n "url",\n "resource_type",\n "header_names",\n "kind",\n "status",\n "failure"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "failure": {\n "description": "Value for failure.",\n "type": "null"\n },\n "header_names": {\n "description": "Value for header names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "kind": {\n "const": "request-unfinished",\n "description": "Value for kind.",\n "type": "string"\n },\n "method": {\n "description": "Value for method.",\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "description": "Value for reason.",\n "enum": [\n "capture-ended",\n "cancelled"\n ],\n "type": "string"\n },\n "redirected_from_transaction_id": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for redirected from transaction id."\n },\n "resource_type": {\n "description": "Value for resource type.",\n "minLength": 1,\n "type": "string"\n },\n "sequence": {\n "description": "Value for sequence.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "status": {\n "description": "Current lifecycle or verification status.",\n "type": "null"\n },\n "step_index": {\n "description": "Value for step index.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "transaction_id": {\n "description": "Value for transaction id.",\n "minLength": 1,\n "type": "string"\n },\n "url": {\n "description": "Value for url.",\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "query_parameter_names": {\n "description": "Value for query parameter names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "description": "Value for redacted.",\n "type": "boolean"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n }\n },\n "required": [\n "sequence",\n "step_index",\n "method",\n "url",\n "resource_type",\n "header_names",\n "kind",\n "status",\n "failure",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "body": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "not_requested",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "not_exposed",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "message": {\n "description": "Value for message.",\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "description": "Value for reason.",\n "enum": [\n "request-failed",\n "response-unfinished",\n "body-read-failed",\n "body-read-timeout",\n "cancelled",\n "capture-ended"\n ],\n "type": "string"\n },\n "state": {\n "const": "unavailable",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason",\n "message"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "bytes": {\n "description": "Value for bytes.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "content": {\n "description": "Value for content.",\n "type": "string"\n },\n "encoding": {\n "const": "base64",\n "description": "Value for encoding.",\n "type": "string"\n },\n "media_type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for media type."\n },\n "redacted": {\n "description": "Value for redacted.",\n "type": "boolean"\n },\n "representation": {\n "description": "Value for representation.",\n "enum": [\n "browser-exposed-request-bytes",\n "browser-decoded-response-bytes"\n ],\n "type": "string"\n },\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "state": {\n "const": "captured",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "representation",\n "encoding",\n "content",\n "bytes",\n "sha256",\n "media_type",\n "redacted"\n ],\n "type": "object"\n }\n ],\n "description": "Value for body."\n },\n "headers": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "not_requested",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "message": {\n "description": "Value for message.",\n "minLength": 1,\n "type": "string"\n },\n "state": {\n "const": "unavailable",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "message"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "items": {\n "description": "Value for items.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "redacted": {\n "description": "Value for redacted.",\n "type": "boolean"\n },\n "value": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for value."\n }\n },\n "required": [\n "name",\n "value",\n "redacted"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "state": {\n "const": "captured",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "items"\n ],\n "type": "object"\n }\n ],\n "description": "Value for headers."\n },\n "kind": {\n "const": "network-content",\n "description": "Value for kind.",\n "type": "string"\n },\n "phase": {\n "description": "Current plan or execution phase of the operation.",\n "enum": [\n "request",\n "response"\n ],\n "type": "string"\n },\n "sequence": {\n "description": "Value for sequence.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "source_event_sequence": {\n "description": "Value for source event sequence.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "step_index": {\n "description": "Value for step index.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "transaction_id": {\n "description": "Value for transaction id.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "sequence",\n "step_index",\n "kind",\n "transaction_id",\n "source_event_sequence",\n "phase",\n "headers",\n "body"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "description": "Value for kind.",\n "enum": [\n "websocket-opened",\n "websocket-closed"\n ],\n "type": "string"\n },\n "sequence": {\n "description": "Value for sequence.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "step_index": {\n "description": "Value for step index.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "url": {\n "description": "Value for url.",\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "query_parameter_names": {\n "description": "Value for query parameter names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "description": "Value for redacted.",\n "type": "boolean"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n }\n },\n "required": [\n "sequence",\n "step_index",\n "kind",\n "url"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "description": "Value for kind.",\n "enum": [\n "websocket-frame-sent",\n "websocket-frame-received"\n ],\n "type": "string"\n },\n "payload_bytes": {\n "description": "Byte count for payload.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "payload_text": {\n "description": "Value for payload text.",\n "type": "string"\n },\n "payload_type": {\n "const": "text",\n "description": "Value for payload type.",\n "type": "string"\n },\n "sequence": {\n "description": "Value for sequence.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "step_index": {\n "description": "Value for step index.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "truncated": {\n "description": "Value for truncated.",\n "type": "boolean"\n },\n "url": {\n "description": "Value for url.",\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "query_parameter_names": {\n "description": "Value for query parameter names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "description": "Value for redacted.",\n "type": "boolean"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n }\n },\n "required": [\n "sequence",\n "step_index",\n "kind",\n "url",\n "payload_bytes",\n "truncated",\n "payload_type",\n "payload_text"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "description": "Value for kind.",\n "enum": [\n "websocket-frame-sent",\n "websocket-frame-received"\n ],\n "type": "string"\n },\n "payload_bytes": {\n "description": "Byte count for payload.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "payload_text": {\n "description": "Value for payload text.",\n "type": "null"\n },\n "payload_type": {\n "const": "binary",\n "description": "Value for payload type.",\n "type": "string"\n },\n "sequence": {\n "description": "Value for sequence.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "step_index": {\n "description": "Value for step index.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "truncated": {\n "description": "Value for truncated.",\n "type": "boolean"\n },\n "url": {\n "description": "Value for url.",\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "query_parameter_names": {\n "description": "Value for query parameter names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "description": "Value for redacted.",\n "type": "boolean"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n }\n },\n "required": [\n "sequence",\n "step_index",\n "kind",\n "url",\n "payload_bytes",\n "truncated",\n "payload_type",\n "payload_text"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "description": "Value for kind.",\n "enum": [\n "frame-attached",\n "frame-detached",\n "frame-navigated",\n "worker-created",\n "worker-closed",\n "popup-opened",\n "popup-closed"\n ],\n "type": "string"\n },\n "name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Exact name used by this operation."\n },\n "sequence": {\n "description": "Value for sequence.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "step_index": {\n "description": "Value for step index.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "url": {\n "anyOf": [\n {\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "query_parameter_names": {\n "description": "Value for query parameter names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "description": "Value for redacted.",\n "type": "boolean"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for url."\n }\n },\n "required": [\n "sequence",\n "step_index",\n "kind",\n "url",\n "name"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "download-cancelled",\n "description": "Value for kind.",\n "type": "string"\n },\n "sequence": {\n "description": "Value for sequence.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "step_index": {\n "description": "Value for step index.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "suggested_filename": {\n "description": "Value for suggested filename.",\n "type": "string"\n },\n "url": {\n "description": "Value for url.",\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "query_parameter_names": {\n "description": "Value for query parameter names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "description": "Value for redacted.",\n "type": "boolean"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n }\n },\n "required": [\n "sequence",\n "step_index",\n "kind",\n "suggested_filename",\n "url"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "retained": {\n "description": "Value for retained.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "retained",\n "dropped",\n "items"\n ],\n "type": "object"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "scenario": {\n "additionalProperties": false,\n "description": "Value for scenario.",\n "properties": {\n "action_count": {\n "description": "Value for action count.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "network_content": {\n "additionalProperties": false,\n "description": "Value for network content.",\n "properties": {\n "header_values": {\n "default": false,\n "description": "Value for header values.",\n "type": "boolean"\n },\n "request_body": {\n "default": false,\n "description": "Value for request body.",\n "type": "boolean"\n },\n "response_body": {\n "default": false,\n "description": "Value for response body.",\n "type": "boolean"\n }\n },\n "type": "object"\n },\n "secret_references": {\n "description": "Value for secret references.",\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "start_origin": {\n "description": "Value for start origin.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "start_origin",\n "action_count",\n "secret_references"\n ],\n "type": "object"\n },\n "steps": {\n "description": "Value for steps.",\n "items": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "action": {\n "description": "Value for action.",\n "minLength": 1,\n "type": "string"\n },\n "after_url": {\n "description": "Value for after url.",\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "query_parameter_names": {\n "description": "Value for query parameter names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "description": "Value for redacted.",\n "type": "boolean"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n },\n "artifacts": {\n "additionalProperties": false,\n "description": "Value for artifacts.",\n "properties": {\n "accessibility": {\n "description": "Value for accessibility.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "captured",\n "description": "Value for state.",\n "type": "string"\n },\n "value": {\n "additionalProperties": false,\n "description": "Value for value.",\n "properties": {\n "bytes": {\n "description": "Value for bytes.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "text": {\n "description": "Value for text.",\n "type": "string"\n }\n },\n "required": [\n "sha256",\n "bytes",\n "text"\n ],\n "type": "object"\n }\n },\n "required": [\n "state",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "not_requested",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "state": {\n "const": "missing",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "observed": {\n "description": "Value for observed.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "retained": {\n "description": "Value for retained.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "state": {\n "const": "truncated",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "observed",\n "retained",\n "reason"\n ],\n "type": "object"\n }\n ]\n },\n "dom": {\n "description": "Value for dom.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "captured",\n "description": "Value for state.",\n "type": "string"\n },\n "value": {\n "additionalProperties": false,\n "description": "Value for value.",\n "properties": {\n "bytes": {\n "description": "Value for bytes.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "text": {\n "description": "Value for text.",\n "type": "string"\n }\n },\n "required": [\n "sha256",\n "bytes",\n "text"\n ],\n "type": "object"\n }\n },\n "required": [\n "state",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "not_requested",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "state": {\n "const": "missing",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "observed": {\n "description": "Value for observed.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "retained": {\n "description": "Value for retained.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "state": {\n "const": "truncated",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "observed",\n "retained",\n "reason"\n ],\n "type": "object"\n }\n ]\n },\n "history": {\n "description": "Value for history.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "captured",\n "description": "Value for state.",\n "type": "string"\n },\n "value": {\n "additionalProperties": false,\n "description": "Value for value.",\n "properties": {\n "current_url": {\n "description": "Value for current url.",\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "query_parameter_names": {\n "description": "Value for query parameter names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "description": "Value for redacted.",\n "type": "boolean"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n },\n "length": {\n "description": "Value for length.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "navigation_entries": {\n "description": "Value for navigation entries.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "description": "Exact name used by this operation.",\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "query_parameter_names": {\n "description": "Value for query parameter names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "description": "Value for redacted.",\n "type": "boolean"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n },\n "type": {\n "description": "Value for type.",\n "enum": [\n "navigate",\n "reload",\n "back_forward",\n "prerender",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "type",\n "name"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "length",\n "current_url",\n "navigation_entries"\n ],\n "type": "object"\n }\n },\n "required": [\n "state",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "not_requested",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "state": {\n "const": "missing",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "observed": {\n "description": "Value for observed.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "retained": {\n "description": "Value for retained.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "state": {\n "const": "truncated",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "observed",\n "retained",\n "reason"\n ],\n "type": "object"\n }\n ]\n },\n "screenshot": {\n "description": "Value for screenshot.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "captured",\n "description": "Value for state.",\n "type": "string"\n },\n "value": {\n "description": "Value for value.",\n "properties": {\n "bytes": {\n "description": "Value for bytes.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "data_base64": {\n "description": "Value for data base64.",\n "type": "string"\n },\n "media_type": {\n "const": "image/png",\n "description": "Value for media type.",\n "type": "string"\n },\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256",\n "bytes",\n "media_type",\n "data_base64"\n ],\n "type": "object"\n }\n },\n "required": [\n "state",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "not_requested",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "state": {\n "const": "missing",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "observed": {\n "description": "Value for observed.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "retained": {\n "description": "Value for retained.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "state": {\n "const": "truncated",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "observed",\n "retained",\n "reason"\n ],\n "type": "object"\n }\n ]\n },\n "storage": {\n "description": "Value for storage.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "captured",\n "description": "Value for state.",\n "type": "string"\n },\n "value": {\n "additionalProperties": false,\n "description": "Value for value.",\n "properties": {\n "cookies": {\n "description": "Value for cookies.",\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "domain": {\n "description": "Value for domain.",\n "type": "string"\n },\n "http_only": {\n "description": "Value for http only.",\n "type": "boolean"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "type": "string"\n },\n "same_site": {\n "description": "Value for same site.",\n "enum": [\n "Strict",\n "Lax",\n "None"\n ],\n "type": "string"\n },\n "secure": {\n "description": "Value for secure.",\n "type": "boolean"\n },\n "value_sha256": {\n "description": "Exact SHA-256 digest of value.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "value_state": {\n "const": "hashed",\n "description": "Value for value state.",\n "type": "string"\n }\n },\n "required": [\n "name",\n "domain",\n "path",\n "secure",\n "http_only",\n "same_site",\n "value_state",\n "value_sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "domain": {\n "description": "Value for domain.",\n "type": "string"\n },\n "http_only": {\n "description": "Value for http only.",\n "type": "boolean"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "type": "string"\n },\n "same_site": {\n "description": "Value for same site.",\n "enum": [\n "Strict",\n "Lax",\n "None"\n ],\n "type": "string"\n },\n "secure": {\n "description": "Value for secure.",\n "type": "boolean"\n },\n "value_sha256": {\n "description": "Exact SHA-256 digest of value.",\n "type": "null"\n },\n "value_state": {\n "const": "redacted-secret",\n "description": "Value for value state.",\n "type": "string"\n }\n },\n "required": [\n "name",\n "domain",\n "path",\n "secure",\n "http_only",\n "same_site",\n "value_state",\n "value_sha256"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "local_storage": {\n "description": "Value for local storage.",\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "name": {\n "description": "Exact name used by this operation.",\n "type": "string"\n },\n "value_sha256": {\n "description": "Exact SHA-256 digest of value.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "value_state": {\n "const": "hashed",\n "description": "Value for value state.",\n "type": "string"\n }\n },\n "required": [\n "name",\n "value_state",\n "value_sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "name": {\n "description": "Exact name used by this operation.",\n "type": "string"\n },\n "value_sha256": {\n "description": "Exact SHA-256 digest of value.",\n "type": "null"\n },\n "value_state": {\n "const": "redacted-secret",\n "description": "Value for value state.",\n "type": "string"\n }\n },\n "required": [\n "name",\n "value_state",\n "value_sha256"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "session_storage": {\n "description": "Value for session storage.",\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "name": {\n "description": "Exact name used by this operation.",\n "type": "string"\n },\n "value_sha256": {\n "description": "Exact SHA-256 digest of value.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "value_state": {\n "const": "hashed",\n "description": "Value for value state.",\n "type": "string"\n }\n },\n "required": [\n "name",\n "value_state",\n "value_sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "name": {\n "description": "Exact name used by this operation.",\n "type": "string"\n },\n "value_sha256": {\n "description": "Exact SHA-256 digest of value.",\n "type": "null"\n },\n "value_state": {\n "const": "redacted-secret",\n "description": "Value for value state.",\n "type": "string"\n }\n },\n "required": [\n "name",\n "value_state",\n "value_sha256"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n }\n },\n "required": [\n "cookies",\n "local_storage",\n "session_storage"\n ],\n "type": "object"\n }\n },\n "required": [\n "state",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "not_requested",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "state": {\n "const": "missing",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "observed": {\n "description": "Value for observed.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "retained": {\n "description": "Value for retained.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "state": {\n "const": "truncated",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "observed",\n "retained",\n "reason"\n ],\n "type": "object"\n }\n ]\n },\n "url": {\n "description": "Value for url.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "captured",\n "description": "Value for state.",\n "type": "string"\n },\n "value": {\n "description": "Value for value.",\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "query_parameter_names": {\n "description": "Value for query parameter names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "description": "Value for redacted.",\n "type": "boolean"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n }\n },\n "required": [\n "state",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "not_requested",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "state": {\n "const": "missing",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "observed": {\n "description": "Value for observed.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "retained": {\n "description": "Value for retained.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "state": {\n "const": "truncated",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "observed",\n "retained",\n "reason"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "screenshot",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage"\n ],\n "type": "object"\n },\n "before_url": {\n "description": "Value for before url.",\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "query_parameter_names": {\n "description": "Value for query parameter names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "description": "Value for redacted.",\n "type": "boolean"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n },\n "completeness": {\n "description": "Value for completeness.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "equality_eligible": {\n "const": true,\n "description": "Value for equality eligible.",\n "type": "boolean"\n },\n "missing_sections": {\n "description": "Value for missing sections.",\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "status": {\n "const": "complete",\n "description": "Current lifecycle or verification status.",\n "type": "string"\n },\n "truncated_sections": {\n "description": "Value for truncated sections.",\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n }\n },\n "required": [\n "status",\n "equality_eligible",\n "missing_sections",\n "truncated_sections"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "equality_eligible": {\n "const": false,\n "description": "Value for equality eligible.",\n "type": "boolean"\n },\n "missing_sections": {\n "description": "Value for missing sections.",\n "items": {\n "enum": [\n "action",\n "screenshot",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage",\n "events",\n "frames",\n "workers",\n "popups",\n "websockets"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "status": {\n "const": "incomplete",\n "description": "Current lifecycle or verification status.",\n "type": "string"\n },\n "truncated_sections": {\n "description": "Value for truncated sections.",\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n }\n },\n "required": [\n "status",\n "equality_eligible",\n "missing_sections",\n "truncated_sections"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "equality_eligible": {\n "const": false,\n "description": "Value for equality eligible.",\n "type": "boolean"\n },\n "missing_sections": {\n "description": "Value for missing sections.",\n "items": {\n "enum": [\n "action",\n "screenshot",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage",\n "events",\n "frames",\n "workers",\n "popups",\n "websockets"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "status": {\n "const": "truncated",\n "description": "Current lifecycle or verification status.",\n "type": "string"\n },\n "truncated_sections": {\n "description": "Value for truncated sections.",\n "items": {\n "enum": [\n "action",\n "screenshot",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage",\n "events",\n "frames",\n "workers",\n "popups",\n "websockets"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "status",\n "equality_eligible",\n "missing_sections",\n "truncated_sections"\n ],\n "type": "object"\n }\n ]\n },\n "elapsed_ms": {\n "description": "Value for elapsed ms.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "error": {\n "description": "Structured, caller-actionable error when the operation fails.",\n "type": "null"\n },\n "event_sequence_end": {\n "description": "Value for event sequence end.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "event_sequence_start": {\n "description": "Value for event sequence start.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "status": {\n "const": "completed",\n "description": "Current lifecycle or verification status.",\n "type": "string"\n },\n "step_id": {\n "description": "Value for step id.",\n "minLength": 1,\n "type": "string"\n },\n "step_index": {\n "description": "Value for step index.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "step_index",\n "step_id",\n "action",\n "elapsed_ms",\n "before_url",\n "after_url",\n "event_sequence_start",\n "event_sequence_end",\n "artifacts",\n "completeness",\n "status",\n "error"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "action": {\n "description": "Value for action.",\n "minLength": 1,\n "type": "string"\n },\n "after_url": {\n "description": "Value for after url.",\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "query_parameter_names": {\n "description": "Value for query parameter names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "description": "Value for redacted.",\n "type": "boolean"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n },\n "artifacts": {\n "additionalProperties": false,\n "description": "Value for artifacts.",\n "properties": {\n "accessibility": {\n "description": "Value for accessibility.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "captured",\n "description": "Value for state.",\n "type": "string"\n },\n "value": {\n "additionalProperties": false,\n "description": "Value for value.",\n "properties": {\n "bytes": {\n "description": "Value for bytes.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "text": {\n "description": "Value for text.",\n "type": "string"\n }\n },\n "required": [\n "sha256",\n "bytes",\n "text"\n ],\n "type": "object"\n }\n },\n "required": [\n "state",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "not_requested",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "state": {\n "const": "missing",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "observed": {\n "description": "Value for observed.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "retained": {\n "description": "Value for retained.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "state": {\n "const": "truncated",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "observed",\n "retained",\n "reason"\n ],\n "type": "object"\n }\n ]\n },\n "dom": {\n "description": "Value for dom.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "captured",\n "description": "Value for state.",\n "type": "string"\n },\n "value": {\n "additionalProperties": false,\n "description": "Value for value.",\n "properties": {\n "bytes": {\n "description": "Value for bytes.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "text": {\n "description": "Value for text.",\n "type": "string"\n }\n },\n "required": [\n "sha256",\n "bytes",\n "text"\n ],\n "type": "object"\n }\n },\n "required": [\n "state",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "not_requested",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "state": {\n "const": "missing",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "observed": {\n "description": "Value for observed.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "retained": {\n "description": "Value for retained.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "state": {\n "const": "truncated",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "observed",\n "retained",\n "reason"\n ],\n "type": "object"\n }\n ]\n },\n "history": {\n "description": "Value for history.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "captured",\n "description": "Value for state.",\n "type": "string"\n },\n "value": {\n "additionalProperties": false,\n "description": "Value for value.",\n "properties": {\n "current_url": {\n "description": "Value for current url.",\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "query_parameter_names": {\n "description": "Value for query parameter names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "description": "Value for redacted.",\n "type": "boolean"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n },\n "length": {\n "description": "Value for length.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "navigation_entries": {\n "description": "Value for navigation entries.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "description": "Exact name used by this operation.",\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "query_parameter_names": {\n "description": "Value for query parameter names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "description": "Value for redacted.",\n "type": "boolean"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n },\n "type": {\n "description": "Value for type.",\n "enum": [\n "navigate",\n "reload",\n "back_forward",\n "prerender",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "type",\n "name"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "length",\n "current_url",\n "navigation_entries"\n ],\n "type": "object"\n }\n },\n "required": [\n "state",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "not_requested",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "state": {\n "const": "missing",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "observed": {\n "description": "Value for observed.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "retained": {\n "description": "Value for retained.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "state": {\n "const": "truncated",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "observed",\n "retained",\n "reason"\n ],\n "type": "object"\n }\n ]\n },\n "screenshot": {\n "description": "Value for screenshot.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "captured",\n "description": "Value for state.",\n "type": "string"\n },\n "value": {\n "description": "Value for value.",\n "properties": {\n "bytes": {\n "description": "Value for bytes.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "data_base64": {\n "description": "Value for data base64.",\n "type": "string"\n },\n "media_type": {\n "const": "image/png",\n "description": "Value for media type.",\n "type": "string"\n },\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256",\n "bytes",\n "media_type",\n "data_base64"\n ],\n "type": "object"\n }\n },\n "required": [\n "state",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "not_requested",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "state": {\n "const": "missing",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "observed": {\n "description": "Value for observed.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "retained": {\n "description": "Value for retained.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "state": {\n "const": "truncated",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "observed",\n "retained",\n "reason"\n ],\n "type": "object"\n }\n ]\n },\n "storage": {\n "description": "Value for storage.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "captured",\n "description": "Value for state.",\n "type": "string"\n },\n "value": {\n "additionalProperties": false,\n "description": "Value for value.",\n "properties": {\n "cookies": {\n "description": "Value for cookies.",\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "domain": {\n "description": "Value for domain.",\n "type": "string"\n },\n "http_only": {\n "description": "Value for http only.",\n "type": "boolean"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "type": "string"\n },\n "same_site": {\n "description": "Value for same site.",\n "enum": [\n "Strict",\n "Lax",\n "None"\n ],\n "type": "string"\n },\n "secure": {\n "description": "Value for secure.",\n "type": "boolean"\n },\n "value_sha256": {\n "description": "Exact SHA-256 digest of value.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "value_state": {\n "const": "hashed",\n "description": "Value for value state.",\n "type": "string"\n }\n },\n "required": [\n "name",\n "domain",\n "path",\n "secure",\n "http_only",\n "same_site",\n "value_state",\n "value_sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "domain": {\n "description": "Value for domain.",\n "type": "string"\n },\n "http_only": {\n "description": "Value for http only.",\n "type": "boolean"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "type": "string"\n },\n "same_site": {\n "description": "Value for same site.",\n "enum": [\n "Strict",\n "Lax",\n "None"\n ],\n "type": "string"\n },\n "secure": {\n "description": "Value for secure.",\n "type": "boolean"\n },\n "value_sha256": {\n "description": "Exact SHA-256 digest of value.",\n "type": "null"\n },\n "value_state": {\n "const": "redacted-secret",\n "description": "Value for value state.",\n "type": "string"\n }\n },\n "required": [\n "name",\n "domain",\n "path",\n "secure",\n "http_only",\n "same_site",\n "value_state",\n "value_sha256"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "local_storage": {\n "description": "Value for local storage.",\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "name": {\n "description": "Exact name used by this operation.",\n "type": "string"\n },\n "value_sha256": {\n "description": "Exact SHA-256 digest of value.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "value_state": {\n "const": "hashed",\n "description": "Value for value state.",\n "type": "string"\n }\n },\n "required": [\n "name",\n "value_state",\n "value_sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "name": {\n "description": "Exact name used by this operation.",\n "type": "string"\n },\n "value_sha256": {\n "description": "Exact SHA-256 digest of value.",\n "type": "null"\n },\n "value_state": {\n "const": "redacted-secret",\n "description": "Value for value state.",\n "type": "string"\n }\n },\n "required": [\n "name",\n "value_state",\n "value_sha256"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "session_storage": {\n "description": "Value for session storage.",\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "name": {\n "description": "Exact name used by this operation.",\n "type": "string"\n },\n "value_sha256": {\n "description": "Exact SHA-256 digest of value.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "value_state": {\n "const": "hashed",\n "description": "Value for value state.",\n "type": "string"\n }\n },\n "required": [\n "name",\n "value_state",\n "value_sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "name": {\n "description": "Exact name used by this operation.",\n "type": "string"\n },\n "value_sha256": {\n "description": "Exact SHA-256 digest of value.",\n "type": "null"\n },\n "value_state": {\n "const": "redacted-secret",\n "description": "Value for value state.",\n "type": "string"\n }\n },\n "required": [\n "name",\n "value_state",\n "value_sha256"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n }\n },\n "required": [\n "cookies",\n "local_storage",\n "session_storage"\n ],\n "type": "object"\n }\n },\n "required": [\n "state",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "not_requested",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "state": {\n "const": "missing",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "observed": {\n "description": "Value for observed.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "retained": {\n "description": "Value for retained.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "state": {\n "const": "truncated",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "observed",\n "retained",\n "reason"\n ],\n "type": "object"\n }\n ]\n },\n "url": {\n "description": "Value for url.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "captured",\n "description": "Value for state.",\n "type": "string"\n },\n "value": {\n "description": "Value for value.",\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "query_parameter_names": {\n "description": "Value for query parameter names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "description": "Value for redacted.",\n "type": "boolean"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n }\n },\n "required": [\n "state",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "not_requested",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "state": {\n "const": "missing",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "observed": {\n "description": "Value for observed.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n },\n "retained": {\n "description": "Value for retained.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "state": {\n "const": "truncated",\n "description": "Value for state.",\n "type": "string"\n }\n },\n "required": [\n "state",\n "observed",\n "retained",\n "reason"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "screenshot",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage"\n ],\n "type": "object"\n },\n "before_url": {\n "description": "Value for before url.",\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for origin."\n },\n "query_parameter_names": {\n "description": "Value for query parameter names.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "description": "Value for redacted.",\n "type": "boolean"\n },\n "url": {\n "description": "Value for url.",\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n },\n "completeness": {\n "description": "Value for completeness.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "equality_eligible": {\n "const": true,\n "description": "Value for equality eligible.",\n "type": "boolean"\n },\n "missing_sections": {\n "description": "Value for missing sections.",\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "status": {\n "const": "complete",\n "description": "Current lifecycle or verification status.",\n "type": "string"\n },\n "truncated_sections": {\n "description": "Value for truncated sections.",\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n }\n },\n "required": [\n "status",\n "equality_eligible",\n "missing_sections",\n "truncated_sections"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "equality_eligible": {\n "const": false,\n "description": "Value for equality eligible.",\n "type": "boolean"\n },\n "missing_sections": {\n "description": "Value for missing sections.",\n "items": {\n "enum": [\n "action",\n "screenshot",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage",\n "events",\n "frames",\n "workers",\n "popups",\n "websockets"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "status": {\n "const": "incomplete",\n "description": "Current lifecycle or verification status.",\n "type": "string"\n },\n "truncated_sections": {\n "description": "Value for truncated sections.",\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n }\n },\n "required": [\n "status",\n "equality_eligible",\n "missing_sections",\n "truncated_sections"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "equality_eligible": {\n "const": false,\n "description": "Value for equality eligible.",\n "type": "boolean"\n },\n "missing_sections": {\n "description": "Value for missing sections.",\n "items": {\n "enum": [\n "action",\n "screenshot",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage",\n "events",\n "frames",\n "workers",\n "popups",\n "websockets"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "status": {\n "const": "truncated",\n "description": "Current lifecycle or verification status.",\n "type": "string"\n },\n "truncated_sections": {\n "description": "Value for truncated sections.",\n "items": {\n "enum": [\n "action",\n "screenshot",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage",\n "events",\n "frames",\n "workers",\n "popups",\n "websockets"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "status",\n "equality_eligible",\n "missing_sections",\n "truncated_sections"\n ],\n "type": "object"\n }\n ]\n },\n "elapsed_ms": {\n "description": "Value for elapsed ms.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "error": {\n "description": "Structured, caller-actionable error when the operation fails.",\n "type": "string"\n },\n "event_sequence_end": {\n "description": "Value for event sequence end.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "event_sequence_start": {\n "description": "Value for event sequence start.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "status": {\n "description": "Current lifecycle or verification status.",\n "enum": [\n "failed",\n "cancelled"\n ],\n "type": "string"\n },\n "step_id": {\n "description": "Value for step id.",\n "minLength": 1,\n "type": "string"\n },\n "step_index": {\n "description": "Value for step index.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "step_index",\n "step_id",\n "action",\n "elapsed_ms",\n "before_url",\n "after_url",\n "event_sequence_start",\n "event_sequence_end",\n "artifacts",\n "completeness",\n "status",\n "error"\n ],\n "type": "object"\n }\n ]\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "browser",\n "scenario",\n "duration_ms",\n "steps",\n "events",\n "completeness",\n "limitations"\n ],\n "type": "object"\n },\n "normalization": {\n "additionalProperties": false,\n "description": "Exact-literal normalization policy.",\n "properties": {\n "rules": {\n "default": [],\n "description": "Value for rules.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "artifacts": {\n "description": "Artifact families whose durable string fields use this rule.",\n "items": {\n "enum": [\n "action_state",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage",\n "events"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "match": {\n "description": "Exact public literal to replace; regular expressions are not used.",\n "minLength": 1,\n "type": "string"\n },\n "replacement": {\n "description": "Recorded replacement text used in normalized comparison.",\n "type": "string"\n },\n "rule_id": {\n "description": "Stable rule identity; rules execute in rule_id order.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "rule_id",\n "artifacts",\n "match",\n "replacement"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "type": "object"\n }\n },\n "type": "object"\n },\n "kind": "browser-provider",\n "name": "compare_web_captures",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "alignment": {\n "additionalProperties": false,\n "properties": {\n "after_only": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "aligned_steps": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "before_only": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "failures": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "code": {\n "enum": [\n "duplicate_before_step_id",\n "duplicate_after_step_id",\n "missing_before_step",\n "missing_after_step",\n "action_mismatch",\n "capture_context_mismatch"\n ],\n "type": "string"\n },\n "reason": {\n "minLength": 1,\n "type": "string"\n },\n "step_id": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "code",\n "step_id",\n "reason"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "status": {\n "enum": [\n "aligned",\n "partial",\n "failed"\n ],\n "type": "string"\n }\n },\n "required": [\n "status",\n "aligned_steps",\n "before_only",\n "after_only",\n "failures"\n ],\n "type": "object"\n },\n "artifact_diffs": {\n "additionalProperties": false,\n "properties": {\n "total": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "total"\n ],\n "type": "object"\n },\n "comparison_kind": {\n "const": "browser_scenario",\n "type": "string"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "normalization": {\n "additionalProperties": false,\n "properties": {\n "built_in_rules": {\n "items": {\n "enum": [\n "ignore_step_elapsed_ms",\n "ignore_event_sequence",\n "ignore_event_step_index",\n "compare_screenshot_content_digest",\n "compare_normalized_text_content"\n ],\n "type": "string"\n },\n "maxItems": 5,\n "minItems": 5,\n "type": "array"\n },\n "rules": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "artifacts": {\n "description": "Artifact families whose durable string fields use this rule.",\n "items": {\n "enum": [\n "action_state",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage",\n "events"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "match": {\n "description": "Exact public literal to replace; regular expressions are not used.",\n "minLength": 1,\n "type": "string"\n },\n "replacement": {\n "description": "Recorded replacement text used in normalized comparison.",\n "type": "string"\n },\n "rule_id": {\n "description": "Stable rule identity; rules execute in rule_id order.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "rule_id",\n "artifacts",\n "match",\n "replacement"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "built_in_rules",\n "rules",\n "sha256"\n ],\n "type": "object"\n },\n "overall_status": {\n "enum": [\n "changed",\n "unchanged",\n "unknown"\n ],\n "type": "string"\n },\n "steps": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "after_action": {\n "minLength": 1,\n "type": "string"\n },\n "after_step_index": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "artifact_diffs": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "after_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "after_state": {\n "enum": [\n "captured",\n "not_requested",\n "missing",\n "truncated"\n ],\n "type": "string"\n },\n "artifact": {\n "enum": [\n "action_state",\n "screenshot",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage",\n "events"\n ],\n "type": "string"\n },\n "before_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "before_state": {\n "enum": [\n "captured",\n "not_requested",\n "missing",\n "truncated"\n ],\n "type": "string"\n },\n "reason": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "enum": [\n "changed",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "artifact",\n "status",\n "before_state",\n "after_state",\n "before_sha256",\n "after_sha256",\n "reason"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "before_action": {\n "minLength": 1,\n "type": "string"\n },\n "before_step_index": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "status": {\n "enum": [\n "changed",\n "unchanged",\n "unknown"\n ],\n "type": "string"\n },\n "step_id": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "step_id",\n "before_step_index",\n "after_step_index",\n "before_action",\n "after_action",\n "status",\n "artifact_diffs"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "comparison_kind",\n "overall_status",\n "normalization",\n "alignment",\n "steps",\n "artifact_diffs",\n "limitations"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "after_target": {\n "additionalProperties": false,\n "properties": {\n "target_id": {\n "type": "string"\n },\n "url": {\n "type": "string"\n }\n },\n "required": [\n "target_id",\n "url"\n ],\n "type": "object"\n },\n "before_target": {\n "additionalProperties": false,\n "properties": {\n "target_id": {\n "type": "string"\n },\n "url": {\n "type": "string"\n }\n },\n "required": [\n "target_id",\n "url"\n ],\n "type": "object"\n },\n "dimensions": {\n "additionalProperties": false,\n "properties": {\n "accessibility": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "changes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "change": {\n "enum": [\n "added",\n "removed",\n "modified"\n ],\n "type": "string"\n },\n "identity": {\n "type": "string"\n }\n },\n "required": [\n "identity",\n "change"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "reason": {\n "type": "null"\n },\n "status": {\n "const": "changed",\n "type": "string"\n },\n "total_changes": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "status",\n "total_changes",\n "changes",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "changes": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "reason": {\n "type": "null"\n },\n "status": {\n "const": "unchanged",\n "type": "string"\n },\n "total_changes": {\n "const": 0,\n "type": "number"\n }\n },\n "required": [\n "total_changes",\n "changes",\n "status",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "changes": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "reason": {\n "type": "string"\n },\n "status": {\n "const": "unknown",\n "type": "string"\n },\n "total_changes": {\n "const": 0,\n "type": "number"\n }\n },\n "required": [\n "total_changes",\n "changes",\n "status",\n "reason"\n ],\n "type": "object"\n }\n ],\n "default": {\n "changes": [],\n "reason": "Dimension was not recorded by this version 1 capture diff.",\n "status": "unknown",\n "total_changes": 0\n }\n },\n "dom_structure": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "changes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "change": {\n "enum": [\n "added",\n "removed",\n "modified"\n ],\n "type": "string"\n },\n "identity": {\n "type": "string"\n }\n },\n "required": [\n "identity",\n "change"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "reason": {\n "type": "null"\n },\n "status": {\n "const": "changed",\n "type": "string"\n },\n "total_changes": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "status",\n "total_changes",\n "changes",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "changes": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "reason": {\n "type": "null"\n },\n "status": {\n "const": "unchanged",\n "type": "string"\n },\n "total_changes": {\n "const": 0,\n "type": "number"\n }\n },\n "required": [\n "total_changes",\n "changes",\n "status",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "changes": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "reason": {\n "type": "string"\n },\n "status": {\n "const": "unknown",\n "type": "string"\n },\n "total_changes": {\n "const": 0,\n "type": "number"\n }\n },\n "required": [\n "total_changes",\n "changes",\n "status",\n "reason"\n ],\n "type": "object"\n }\n ]\n },\n "metadata": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "changes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "change": {\n "enum": [\n "added",\n "removed",\n "modified"\n ],\n "type": "string"\n },\n "identity": {\n "type": "string"\n }\n },\n "required": [\n "identity",\n "change"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "reason": {\n "type": "null"\n },\n "status": {\n "const": "changed",\n "type": "string"\n },\n "total_changes": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "status",\n "total_changes",\n "changes",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "changes": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "reason": {\n "type": "null"\n },\n "status": {\n "const": "unchanged",\n "type": "string"\n },\n "total_changes": {\n "const": 0,\n "type": "number"\n }\n },\n "required": [\n "total_changes",\n "changes",\n "status",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "changes": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "reason": {\n "type": "string"\n },\n "status": {\n "const": "unknown",\n "type": "string"\n },\n "total_changes": {\n "const": 0,\n "type": "number"\n }\n },\n "required": [\n "total_changes",\n "changes",\n "status",\n "reason"\n ],\n "type": "object"\n }\n ]\n },\n "network": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "changes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "change": {\n "enum": [\n "added",\n "removed",\n "modified"\n ],\n "type": "string"\n },\n "identity": {\n "type": "string"\n }\n },\n "required": [\n "identity",\n "change"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "reason": {\n "type": "null"\n },\n "status": {\n "const": "changed",\n "type": "string"\n },\n "total_changes": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "status",\n "total_changes",\n "changes",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "changes": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "reason": {\n "type": "null"\n },\n "status": {\n "const": "unchanged",\n "type": "string"\n },\n "total_changes": {\n "const": 0,\n "type": "number"\n }\n },\n "required": [\n "total_changes",\n "changes",\n "status",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "changes": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "reason": {\n "type": "string"\n },\n "status": {\n "const": "unknown",\n "type": "string"\n },\n "total_changes": {\n "const": 0,\n "type": "number"\n }\n },\n "required": [\n "total_changes",\n "changes",\n "status",\n "reason"\n ],\n "type": "object"\n }\n ]\n },\n "resources": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "changes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "change": {\n "enum": [\n "added",\n "removed",\n "modified"\n ],\n "type": "string"\n },\n "identity": {\n "type": "string"\n }\n },\n "required": [\n "identity",\n "change"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "reason": {\n "type": "null"\n },\n "status": {\n "const": "changed",\n "type": "string"\n },\n "total_changes": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "status",\n "total_changes",\n "changes",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "changes": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "reason": {\n "type": "null"\n },\n "status": {\n "const": "unchanged",\n "type": "string"\n },\n "total_changes": {\n "const": 0,\n "type": "number"\n }\n },\n "required": [\n "total_changes",\n "changes",\n "status",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "changes": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "reason": {\n "type": "string"\n },\n "status": {\n "const": "unknown",\n "type": "string"\n },\n "total_changes": {\n "const": 0,\n "type": "number"\n }\n },\n "required": [\n "total_changes",\n "changes",\n "status",\n "reason"\n ],\n "type": "object"\n }\n ]\n },\n "scripts": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "changes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "change": {\n "enum": [\n "added",\n "removed",\n "modified"\n ],\n "type": "string"\n },\n "identity": {\n "type": "string"\n }\n },\n "required": [\n "identity",\n "change"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "reason": {\n "type": "null"\n },\n "status": {\n "const": "changed",\n "type": "string"\n },\n "total_changes": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "status",\n "total_changes",\n "changes",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "changes": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "reason": {\n "type": "null"\n },\n "status": {\n "const": "unchanged",\n "type": "string"\n },\n "total_changes": {\n "const": 0,\n "type": "number"\n }\n },\n "required": [\n "total_changes",\n "changes",\n "status",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "changes": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "reason": {\n "type": "string"\n },\n "status": {\n "const": "unknown",\n "type": "string"\n },\n "total_changes": {\n "const": 0,\n "type": "number"\n }\n },\n "required": [\n "total_changes",\n "changes",\n "status",\n "reason"\n ],\n "type": "object"\n }\n ]\n },\n "storage": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "changes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "change": {\n "enum": [\n "added",\n "removed",\n "modified"\n ],\n "type": "string"\n },\n "identity": {\n "type": "string"\n }\n },\n "required": [\n "identity",\n "change"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "reason": {\n "type": "null"\n },\n "status": {\n "const": "changed",\n "type": "string"\n },\n "total_changes": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "status",\n "total_changes",\n "changes",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "changes": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "reason": {\n "type": "null"\n },\n "status": {\n "const": "unchanged",\n "type": "string"\n },\n "total_changes": {\n "const": 0,\n "type": "number"\n }\n },\n "required": [\n "total_changes",\n "changes",\n "status",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "changes": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "reason": {\n "type": "string"\n },\n "status": {\n "const": "unknown",\n "type": "string"\n },\n "total_changes": {\n "const": 0,\n "type": "number"\n }\n },\n "required": [\n "total_changes",\n "changes",\n "status",\n "reason"\n ],\n "type": "object"\n }\n ],\n "default": {\n "changes": [],\n "reason": "Dimension was not recorded by this version 1 capture diff.",\n "status": "unknown",\n "total_changes": 0\n }\n },\n "webmcp": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "changes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "change": {\n "enum": [\n "added",\n "removed",\n "modified"\n ],\n "type": "string"\n },\n "identity": {\n "type": "string"\n }\n },\n "required": [\n "identity",\n "change"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "reason": {\n "type": "null"\n },\n "status": {\n "const": "changed",\n "type": "string"\n },\n "total_changes": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "status",\n "total_changes",\n "changes",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "changes": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "reason": {\n "type": "null"\n },\n "status": {\n "const": "unchanged",\n "type": "string"\n },\n "total_changes": {\n "const": 0,\n "type": "number"\n }\n },\n "required": [\n "total_changes",\n "changes",\n "status",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "changes": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "reason": {\n "type": "string"\n },\n "status": {\n "const": "unknown",\n "type": "string"\n },\n "total_changes": {\n "const": 0,\n "type": "number"\n }\n },\n "required": [\n "total_changes",\n "changes",\n "status",\n "reason"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "dom_structure",\n "scripts",\n "resources",\n "network",\n "metadata",\n "webmcp",\n "accessibility",\n "storage"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "overall_status": {\n "enum": [\n "changed",\n "unchanged",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "overall_status",\n "before_target",\n "after_target",\n "dimensions",\n "limitations"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Compare Web Captures"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": true,\n "readOnlyHint": false\n },\n "description": "Capture the current visible viewport of one configured page as an inline, content-addressed PNG artifact. The operation never scrolls, navigates, or evaluates page JavaScript.",\n "effects": {\n "accessesNetwork": true,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "cdp_endpoint": "http://127.0.0.1:9222",\n "target_id": "TARGET_ID_FROM_LIST_BROWSER_TARGETS"\n }\n ],\n "properties": {\n "allowed_origins": {\n "description": "Value for allowed origins.",\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "cdp_endpoint": {\n "description": "Literal loopback Chrome DevTools Protocol endpoint.",\n "minLength": 1,\n "type": "string"\n },\n "target_id": {\n "description": "Exact CDP target identifier selected from the endpoint\'s target listing.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "cdp_endpoint",\n "target_id"\n ],\n "type": "object"\n },\n "kind": "browser-provider",\n "name": "capture_web_screenshot",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "artifact": {\n "additionalProperties": false,\n "properties": {\n "bytes": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "data_base64": {\n "type": "string"\n },\n "media_type": {\n "const": "image/png",\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256",\n "bytes",\n "media_type",\n "data_base64"\n ],\n "type": "object"\n },\n "browser": {\n "additionalProperties": false,\n "properties": {\n "js_version": {\n "type": "string"\n },\n "product": {\n "type": "string"\n },\n "protocol_version": {\n "type": "string"\n },\n "revision": {\n "type": "string"\n },\n "user_agent": {\n "type": "string"\n }\n },\n "required": [\n "product",\n "protocol_version",\n "revision",\n "user_agent",\n "js_version"\n ],\n "type": "object"\n },\n "captured_at": {\n "format": "date-time",\n "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))$",\n "type": "string"\n },\n "completeness": {\n "additionalProperties": false,\n "properties": {\n "attach_limited_sections": {\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "conditions": {\n "items": {\n "enum": [\n "complete_within_window",\n "policy_filtered",\n "attach_limited",\n "truncated"\n ],\n "type": "string"\n },\n "maxItems": 3,\n "minItems": 1,\n "type": "array"\n },\n "dropped_events": {\n "additionalProperties": false,\n "properties": {\n "console_events": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "network_requests": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "scripts": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "timeline_events": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "total": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "webmcp_tools": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "websocket_connections": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "websocket_frames": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "scripts",\n "network_requests",\n "console_events",\n "websocket_connections",\n "websocket_frames",\n "webmcp_tools",\n "timeline_events",\n "total"\n ],\n "type": "object"\n },\n "excluded": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "reason": {\n "enum": [\n "disallowed_origin",\n "unsupported_url",\n "unattributed_origin",\n "not_approved",\n "out_of_target_scope",\n "provider_unavailable",\n "invalid_protocol_value"\n ],\n "type": "string"\n },\n "section": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n }\n },\n "required": [\n "section",\n "reason",\n "count"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "policy_filtered_sections": {\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "status": {\n "enum": [\n "complete_within_window",\n "policy_filtered",\n "attach_limited",\n "truncated"\n ],\n "type": "string"\n },\n "truncated_sections": {\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "unavailable_sections": {\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n }\n },\n "required": [\n "status",\n "conditions",\n "policy_filtered_sections",\n "attach_limited_sections",\n "truncated_sections",\n "unavailable_sections",\n "excluded",\n "dropped_events"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "target": {\n "additionalProperties": false,\n "properties": {\n "origin": {\n "type": "string"\n },\n "target_id": {\n "type": "string"\n },\n "url": {\n "type": "string"\n }\n },\n "required": [\n "target_id",\n "url",\n "origin"\n ],\n "type": "object"\n },\n "viewport": {\n "additionalProperties": false,\n "properties": {\n "height": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "width": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "width",\n "height"\n ],\n "type": "object"\n }\n },\n "required": [\n "browser",\n "target",\n "captured_at",\n "viewport",\n "artifact",\n "completeness",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Capture Web Screenshot"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Compare two self-verifying PNG screenshot artifacts with local pixel metrics. Returns exact changed-pixel ratios and channel deltas without OCR or external services.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "after": {\n "bytes": 70,\n "data_base64": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8/5+hHgAHggJ/PzWvWQAAAABJRU5ErkJggg==",\n "media_type": "image/png",\n "sha256": "153cf6c9a526a63053a37b10234c2fd85df38887c2dc0a800d90abfa6631d01c"\n },\n "before": {\n "bytes": 70,\n "data_base64": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8/5+hHgAHggJ/PzWvWQAAAABJRU5ErkJggg==",\n "media_type": "image/png",\n "sha256": "153cf6c9a526a63053a37b10234c2fd85df38887c2dc0a800d90abfa6631d01c"\n },\n "channel_threshold": 0\n }\n ],\n "properties": {\n "after": {\n "description": "The later or right-hand observation to compare.",\n "properties": {\n "bytes": {\n "description": "Value for bytes.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "data_base64": {\n "description": "Value for data base64.",\n "type": "string"\n },\n "media_type": {\n "const": "image/png",\n "description": "Value for media type.",\n "type": "string"\n },\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256",\n "bytes",\n "media_type",\n "data_base64"\n ],\n "type": "object"\n },\n "before": {\n "description": "The earlier or left-hand observation to compare.",\n "properties": {\n "bytes": {\n "description": "Value for bytes.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "data_base64": {\n "description": "Value for data base64.",\n "type": "string"\n },\n "media_type": {\n "const": "image/png",\n "description": "Value for media type.",\n "type": "string"\n },\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256",\n "bytes",\n "media_type",\n "data_base64"\n ],\n "type": "object"\n },\n "channel_threshold": {\n "default": 0,\n "description": "Value for channel threshold.",\n "maximum": 255,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "before",\n "after"\n ],\n "type": "object"\n },\n "kind": "browser-provider",\n "name": "compare_web_screenshots",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "after": {\n "additionalProperties": false,\n "properties": {\n "height": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "width": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "width",\n "height"\n ],\n "type": "object"\n },\n "before": {\n "additionalProperties": false,\n "properties": {\n "height": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "width": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "width",\n "height"\n ],\n "type": "object"\n },\n "changed_pixels": {\n "const": 0,\n "type": "number"\n },\n "changed_ratio": {\n "const": 0,\n "type": "number"\n },\n "channel_threshold": {\n "maximum": 255,\n "minimum": 0,\n "type": "integer"\n },\n "compared_pixels": {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "maximum_channel_delta": {\n "maximum": 255,\n "minimum": 0,\n "type": "integer"\n },\n "mean_absolute_channel_delta": {\n "maximum": 255,\n "minimum": 0,\n "type": "number"\n },\n "status": {\n "const": "identical",\n "type": "string"\n }\n },\n "required": [\n "before",\n "after",\n "channel_threshold",\n "limitations",\n "status",\n "compared_pixels",\n "changed_pixels",\n "changed_ratio",\n "maximum_channel_delta",\n "mean_absolute_channel_delta"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "after": {\n "additionalProperties": false,\n "properties": {\n "height": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "width": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "width",\n "height"\n ],\n "type": "object"\n },\n "before": {\n "additionalProperties": false,\n "properties": {\n "height": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "width": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "width",\n "height"\n ],\n "type": "object"\n },\n "changed_pixels": {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n "changed_ratio": {\n "exclusiveMinimum": 0,\n "maximum": 1,\n "type": "number"\n },\n "channel_threshold": {\n "maximum": 255,\n "minimum": 0,\n "type": "integer"\n },\n "compared_pixels": {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "maximum_channel_delta": {\n "exclusiveMinimum": 0,\n "maximum": 255,\n "type": "integer"\n },\n "mean_absolute_channel_delta": {\n "exclusiveMinimum": 0,\n "maximum": 255,\n "type": "number"\n },\n "status": {\n "const": "different",\n "type": "string"\n }\n },\n "required": [\n "before",\n "after",\n "channel_threshold",\n "limitations",\n "status",\n "compared_pixels",\n "changed_pixels",\n "changed_ratio",\n "maximum_channel_delta",\n "mean_absolute_channel_delta"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "after": {\n "additionalProperties": false,\n "properties": {\n "height": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "width": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "width",\n "height"\n ],\n "type": "object"\n },\n "before": {\n "additionalProperties": false,\n "properties": {\n "height": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "width": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "width",\n "height"\n ],\n "type": "object"\n },\n "changed_pixels": {\n "type": "null"\n },\n "changed_ratio": {\n "type": "null"\n },\n "channel_threshold": {\n "maximum": 255,\n "minimum": 0,\n "type": "integer"\n },\n "compared_pixels": {\n "const": 0,\n "type": "number"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "maximum_channel_delta": {\n "type": "null"\n },\n "mean_absolute_channel_delta": {\n "type": "null"\n },\n "status": {\n "const": "dimension_mismatch",\n "type": "string"\n }\n },\n "required": [\n "before",\n "after",\n "channel_threshold",\n "limitations",\n "status",\n "compared_pixels",\n "changed_pixels",\n "changed_ratio",\n "maximum_channel_delta",\n "mean_absolute_channel_delta"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Compare Web Screenshots"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": true,\n "idempotentHint": false,\n "openWorldHint": true,\n "readOnlyHint": false\n },\n "description": "Run a controlled browser scenario when passive observation cannot exercise the application. Launch the selected executable or connect to a loopback CDP target, provide a start URL and actions, and select storage or artifacts when needed. Environment, empty storage, and a URL-only final capture are defaults. capture.network selects request_body, response_body, and header_values independently; selected content is returned inline with transaction and event references, byte digests, and explicit unavailable states. Credentials and declared secrets are redacted. Agents can run their own local fixture servers to control application responses. Actions run until completion or cancellation unless timeout_ms is set. Results are returned inline.",\n "effects": {\n "accessesNetwork": true,\n "changesUiState": true,\n "idempotent": false,\n "launchesProcess": true,\n "mayDiscardData": true,\n "mutatesSession": true,\n "mutatesTarget": true,\n "writesFilesystem": true\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "actions": [\n {\n "action": "wait_for_timeout",\n "duration_ms": 250,\n "step_id": "settle"\n }\n ],\n "browser": {\n "executable_path": "/opt/chromium/chrome",\n "mode": "launch"\n },\n "start_url": {\n "query": [],\n "url": "https://app.example.test/"\n }\n }\n ],\n "properties": {\n "actions": {\n "description": "Required sequence of explicit browser actions.",\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "action": {\n "const": "goto",\n "description": "Value for action.",\n "type": "string"\n },\n "destination": {\n "additionalProperties": false,\n "description": "Value for destination.",\n "properties": {\n "query": {\n "default": [],\n "description": "Non-empty feature or text query to investigate.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "value": {\n "description": "Value for value.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "source": {\n "const": "literal",\n "description": "Value for source.",\n "type": "string"\n },\n "value": {\n "description": "Value for value.",\n "type": "string"\n }\n },\n "required": [\n "source",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "secret_id": {\n "description": "Value for secret id.",\n "pattern": "^[A-Za-z][A-Za-z0-9._-]*$",\n "type": "string"\n },\n "source": {\n "const": "secret",\n "description": "Value for source.",\n "type": "string"\n }\n },\n "required": [\n "source",\n "secret_id"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "name",\n "value"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "url": {\n "description": "Value for url.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "url"\n ],\n "type": "object"\n },\n "step_id": {\n "description": "Value for step id.",\n "pattern": "^[A-Za-z][A-Za-z0-9._-]*$",\n "type": "string"\n },\n "timeout_ms": {\n "description": "Optional action deadline in milliseconds; omitted means wait until completion or request cancellation.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "wait_until": {\n "description": "Value for wait until.",\n "enum": [\n "commit",\n "domcontentloaded",\n "load"\n ],\n "type": "string"\n }\n },\n "required": [\n "step_id",\n "action",\n "destination",\n "wait_until"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "action": {\n "const": "click",\n "description": "Value for action.",\n "type": "string"\n },\n "button": {\n "default": "left",\n "description": "Value for button.",\n "enum": [\n "left",\n "middle",\n "right"\n ],\n "type": "string"\n },\n "click_count": {\n "default": 1,\n "description": "Value for click count.",\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n "locator": {\n "description": "Value for locator.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "test_id",\n "description": "Value for kind.",\n "type": "string"\n },\n "value": {\n "description": "Value for value.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "role",\n "description": "Value for kind.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "role": {\n "description": "Value for role.",\n "enum": [\n "button",\n "checkbox",\n "combobox",\n "dialog",\n "link",\n "listbox",\n "menuitem",\n "option",\n "radio",\n "slider",\n "spinbutton",\n "switch",\n "tab",\n "textbox"\n ],\n "type": "string"\n }\n },\n "required": [\n "kind",\n "role",\n "name"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "css",\n "description": "Value for kind.",\n "type": "string"\n },\n "selector": {\n "description": "Value for selector.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "selector"\n ],\n "type": "object"\n }\n ]\n },\n "step_id": {\n "description": "Value for step id.",\n "pattern": "^[A-Za-z][A-Za-z0-9._-]*$",\n "type": "string"\n },\n "timeout_ms": {\n "description": "Optional action deadline in milliseconds; omitted means wait until completion or request cancellation.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "step_id",\n "action",\n "locator"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "action": {\n "const": "fill",\n "description": "Value for action.",\n "type": "string"\n },\n "locator": {\n "description": "Value for locator.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "test_id",\n "description": "Value for kind.",\n "type": "string"\n },\n "value": {\n "description": "Value for value.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "role",\n "description": "Value for kind.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "role": {\n "description": "Value for role.",\n "enum": [\n "button",\n "checkbox",\n "combobox",\n "dialog",\n "link",\n "listbox",\n "menuitem",\n "option",\n "radio",\n "slider",\n "spinbutton",\n "switch",\n "tab",\n "textbox"\n ],\n "type": "string"\n }\n },\n "required": [\n "kind",\n "role",\n "name"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "css",\n "description": "Value for kind.",\n "type": "string"\n },\n "selector": {\n "description": "Value for selector.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "selector"\n ],\n "type": "object"\n }\n ]\n },\n "step_id": {\n "description": "Value for step id.",\n "pattern": "^[A-Za-z][A-Za-z0-9._-]*$",\n "type": "string"\n },\n "timeout_ms": {\n "description": "Optional action deadline in milliseconds; omitted means wait until completion or request cancellation.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "value": {\n "description": "Value for value.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "source": {\n "const": "literal",\n "description": "Value for source.",\n "type": "string"\n },\n "value": {\n "description": "Value for value.",\n "type": "string"\n }\n },\n "required": [\n "source",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "secret_id": {\n "description": "Value for secret id.",\n "pattern": "^[A-Za-z][A-Za-z0-9._-]*$",\n "type": "string"\n },\n "source": {\n "const": "secret",\n "description": "Value for source.",\n "type": "string"\n }\n },\n "required": [\n "source",\n "secret_id"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "step_id",\n "action",\n "locator",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "action": {\n "const": "press",\n "description": "Value for action.",\n "type": "string"\n },\n "key": {\n "description": "Value for key.",\n "minLength": 1,\n "type": "string"\n },\n "locator": {\n "description": "Value for locator.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "test_id",\n "description": "Value for kind.",\n "type": "string"\n },\n "value": {\n "description": "Value for value.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "role",\n "description": "Value for kind.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "role": {\n "description": "Value for role.",\n "enum": [\n "button",\n "checkbox",\n "combobox",\n "dialog",\n "link",\n "listbox",\n "menuitem",\n "option",\n "radio",\n "slider",\n "spinbutton",\n "switch",\n "tab",\n "textbox"\n ],\n "type": "string"\n }\n },\n "required": [\n "kind",\n "role",\n "name"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "css",\n "description": "Value for kind.",\n "type": "string"\n },\n "selector": {\n "description": "Value for selector.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "selector"\n ],\n "type": "object"\n }\n ]\n },\n "step_id": {\n "description": "Value for step id.",\n "pattern": "^[A-Za-z][A-Za-z0-9._-]*$",\n "type": "string"\n },\n "timeout_ms": {\n "description": "Optional action deadline in milliseconds; omitted means wait until completion or request cancellation.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "step_id",\n "action",\n "locator",\n "key"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "action": {\n "const": "select_option",\n "description": "Value for action.",\n "type": "string"\n },\n "locator": {\n "description": "Value for locator.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "test_id",\n "description": "Value for kind.",\n "type": "string"\n },\n "value": {\n "description": "Value for value.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "role",\n "description": "Value for kind.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "role": {\n "description": "Value for role.",\n "enum": [\n "button",\n "checkbox",\n "combobox",\n "dialog",\n "link",\n "listbox",\n "menuitem",\n "option",\n "radio",\n "slider",\n "spinbutton",\n "switch",\n "tab",\n "textbox"\n ],\n "type": "string"\n }\n },\n "required": [\n "kind",\n "role",\n "name"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "css",\n "description": "Value for kind.",\n "type": "string"\n },\n "selector": {\n "description": "Value for selector.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "selector"\n ],\n "type": "object"\n }\n ]\n },\n "step_id": {\n "description": "Value for step id.",\n "pattern": "^[A-Za-z][A-Za-z0-9._-]*$",\n "type": "string"\n },\n "timeout_ms": {\n "description": "Optional action deadline in milliseconds; omitted means wait until completion or request cancellation.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "value": {\n "description": "Value for value.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "source": {\n "const": "literal",\n "description": "Value for source.",\n "type": "string"\n },\n "value": {\n "description": "Value for value.",\n "type": "string"\n }\n },\n "required": [\n "source",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "secret_id": {\n "description": "Value for secret id.",\n "pattern": "^[A-Za-z][A-Za-z0-9._-]*$",\n "type": "string"\n },\n "source": {\n "const": "secret",\n "description": "Value for source.",\n "type": "string"\n }\n },\n "required": [\n "source",\n "secret_id"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "step_id",\n "action",\n "locator",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "action": {\n "description": "Value for action.",\n "enum": [\n "check",\n "uncheck"\n ],\n "type": "string"\n },\n "locator": {\n "description": "Value for locator.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "test_id",\n "description": "Value for kind.",\n "type": "string"\n },\n "value": {\n "description": "Value for value.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "role",\n "description": "Value for kind.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "role": {\n "description": "Value for role.",\n "enum": [\n "button",\n "checkbox",\n "combobox",\n "dialog",\n "link",\n "listbox",\n "menuitem",\n "option",\n "radio",\n "slider",\n "spinbutton",\n "switch",\n "tab",\n "textbox"\n ],\n "type": "string"\n }\n },\n "required": [\n "kind",\n "role",\n "name"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "css",\n "description": "Value for kind.",\n "type": "string"\n },\n "selector": {\n "description": "Value for selector.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "selector"\n ],\n "type": "object"\n }\n ]\n },\n "step_id": {\n "description": "Value for step id.",\n "pattern": "^[A-Za-z][A-Za-z0-9._-]*$",\n "type": "string"\n },\n "timeout_ms": {\n "description": "Optional action deadline in milliseconds; omitted means wait until completion or request cancellation.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "step_id",\n "action",\n "locator"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "action": {\n "const": "wait_for",\n "description": "Value for action.",\n "type": "string"\n },\n "locator": {\n "description": "Value for locator.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "test_id",\n "description": "Value for kind.",\n "type": "string"\n },\n "value": {\n "description": "Value for value.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "role",\n "description": "Value for kind.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "role": {\n "description": "Value for role.",\n "enum": [\n "button",\n "checkbox",\n "combobox",\n "dialog",\n "link",\n "listbox",\n "menuitem",\n "option",\n "radio",\n "slider",\n "spinbutton",\n "switch",\n "tab",\n "textbox"\n ],\n "type": "string"\n }\n },\n "required": [\n "kind",\n "role",\n "name"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "css",\n "description": "Value for kind.",\n "type": "string"\n },\n "selector": {\n "description": "Value for selector.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "selector"\n ],\n "type": "object"\n }\n ]\n },\n "state": {\n "description": "Value for state.",\n "enum": [\n "attached",\n "detached",\n "visible",\n "hidden"\n ],\n "type": "string"\n },\n "step_id": {\n "description": "Value for step id.",\n "pattern": "^[A-Za-z][A-Za-z0-9._-]*$",\n "type": "string"\n },\n "timeout_ms": {\n "description": "Optional action deadline in milliseconds; omitted means wait until completion or request cancellation.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "step_id",\n "action",\n "locator",\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "action": {\n "const": "wait_for_timeout",\n "description": "Value for action.",\n "type": "string"\n },\n "duration_ms": {\n "description": "Wait this many milliseconds; the wait ends early on cancellation.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "step_id": {\n "description": "Value for step id.",\n "pattern": "^[A-Za-z][A-Za-z0-9._-]*$",\n "type": "string"\n }\n },\n "required": [\n "step_id",\n "action",\n "duration_ms"\n ],\n "type": "object"\n }\n ]\n },\n "minItems": 1,\n "type": "array"\n },\n "browser": {\n "description": "Required launch/connect selection. Launch uses the selected executable and an owned temporary profile; connect uses one loopback CDP endpoint and target.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "executable_path": {\n "description": "Local filesystem path for executable.",\n "minLength": 1,\n "type": "string"\n },\n "headless": {\n "default": true,\n "description": "Run without a visible browser window; defaults to true and can be disabled when the host supports a display.",\n "type": "boolean"\n },\n "mode": {\n "const": "launch",\n "description": "Operation mode that selects the requested behavior.",\n "type": "string"\n }\n },\n "required": [\n "mode",\n "executable_path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "cdp_endpoint": {\n "description": "Literal loopback Chrome DevTools Protocol endpoint.",\n "minLength": 1,\n "type": "string"\n },\n "mode": {\n "const": "connect",\n "description": "Operation mode that selects the requested behavior.",\n "type": "string"\n },\n "target_id": {\n "description": "Exact CDP target identifier selected from the endpoint\'s target listing.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "mode",\n "cdp_endpoint",\n "target_id"\n ],\n "type": "object"\n }\n ]\n },\n "capture": {\n "additionalProperties": false,\n "default": {\n "after_each_step": [],\n "at_end": [\n "url"\n ],\n "events": [],\n "network": {\n "header_values": false,\n "request_body": false,\n "response_body": false\n }\n },\n "description": "Optional retained artifacts and event families. Defaults to only a final sanitized URL; request screenshots, DOM, accessibility, history, storage, and event capture explicitly.",\n "properties": {\n "after_each_step": {\n "default": [],\n "description": "Value for after each step.",\n "items": {\n "enum": [\n "screenshot",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "at_end": {\n "default": [\n "url"\n ],\n "description": "Value for at end.",\n "items": {\n "enum": [\n "screenshot",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "events": {\n "default": [],\n "description": "Value for events.",\n "items": {\n "enum": [\n "console",\n "page-errors",\n "network",\n "websockets",\n "frames",\n "workers",\n "popups",\n "downloads"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "network": {\n "additionalProperties": false,\n "default": {\n "header_values": false,\n "request_body": false,\n "response_body": false\n },\n "description": "Value for network.",\n "properties": {\n "header_values": {\n "default": false,\n "description": "Value for header values.",\n "type": "boolean"\n },\n "request_body": {\n "default": false,\n "description": "Value for request body.",\n "type": "boolean"\n },\n "response_body": {\n "default": false,\n "description": "Value for response body.",\n "type": "boolean"\n }\n },\n "type": "object"\n }\n },\n "type": "object"\n },\n "environment": {\n "additionalProperties": false,\n "default": {\n "color_scheme": "light",\n "locale": "en-US",\n "reduced_motion": "reduce",\n "service_workers": "block",\n "timezone": "UTC",\n "viewport": {\n "device_scale_factor": 1,\n "height": 720,\n "width": 1280\n }\n },\n "description": "Optional deterministic browser settings. Defaults to 1280x720, en-US, UTC, light mode, reduced motion, and blocked service workers.",\n "properties": {\n "color_scheme": {\n "default": "light",\n "description": "Value for color scheme.",\n "enum": [\n "light",\n "dark",\n "no-preference"\n ],\n "type": "string"\n },\n "locale": {\n "default": "en-US",\n "description": "Value for locale.",\n "minLength": 2,\n "pattern": "^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$",\n "type": "string"\n },\n "reduced_motion": {\n "default": "reduce",\n "description": "Value for reduced motion.",\n "enum": [\n "reduce",\n "no-preference"\n ],\n "type": "string"\n },\n "service_workers": {\n "default": "block",\n "description": "Value for service workers.",\n "enum": [\n "allow",\n "block"\n ],\n "type": "string"\n },\n "timezone": {\n "default": "UTC",\n "description": "Value for timezone.",\n "minLength": 1,\n "pattern": "^[A-Za-z0-9_+-]+(?:\\\\/[A-Za-z0-9_+-]+)*$",\n "type": "string"\n },\n "viewport": {\n "additionalProperties": false,\n "default": {\n "device_scale_factor": 1,\n "height": 720,\n "width": 1280\n },\n "description": "Value for viewport.",\n "properties": {\n "device_scale_factor": {\n "default": 1,\n "description": "Value for device scale factor.",\n "exclusiveMinimum": 0,\n "type": "number"\n },\n "height": {\n "default": 720,\n "description": "Value for height.",\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n "width": {\n "default": 1280,\n "description": "Value for width.",\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n }\n },\n "type": "object"\n }\n },\n "type": "object"\n },\n "secrets": {\n "default": [],\n "description": "Optional environment-variable references for values used in actions, URLs, storage, or replay, and for redacting matching observed text. Secret values are never supplied inline.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "environment_variable": {\n "description": "Value for environment variable.",\n "minLength": 1,\n "type": "string"\n },\n "secret_id": {\n "description": "Value for secret id.",\n "pattern": "^[A-Za-z][A-Za-z0-9._-]*$",\n "type": "string"\n }\n },\n "required": [\n "secret_id",\n "environment_variable"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "start_url": {\n "additionalProperties": false,\n "description": "Required initial HTTP(S) URL. Query values must be declared separately as public literals or secret references.",\n "properties": {\n "query": {\n "default": [],\n "description": "Non-empty feature or text query to investigate.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "value": {\n "description": "Value for value.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "source": {\n "const": "literal",\n "description": "Value for source.",\n "type": "string"\n },\n "value": {\n "description": "Value for value.",\n "type": "string"\n }\n },\n "required": [\n "source",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "secret_id": {\n "description": "Value for secret id.",\n "pattern": "^[A-Za-z][A-Za-z0-9._-]*$",\n "type": "string"\n },\n "source": {\n "const": "secret",\n "description": "Value for source.",\n "type": "string"\n }\n },\n "required": [\n "source",\n "secret_id"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "name",\n "value"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "url": {\n "description": "Value for url.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "url"\n ],\n "type": "object"\n },\n "storage": {\n "additionalProperties": false,\n "description": "Optional initial cookies, local storage, or session storage. Defaults to empty; every supplied value and origin must be declared and within the allowed origins.",\n "properties": {\n "cookies": {\n "description": "Value for cookies.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "destination": {\n "additionalProperties": false,\n "description": "Value for destination.",\n "properties": {\n "query": {\n "default": [],\n "description": "Non-empty feature or text query to investigate.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "value": {\n "description": "Value for value.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "source": {\n "const": "literal",\n "description": "Value for source.",\n "type": "string"\n },\n "value": {\n "description": "Value for value.",\n "type": "string"\n }\n },\n "required": [\n "source",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "secret_id": {\n "description": "Value for secret id.",\n "pattern": "^[A-Za-z][A-Za-z0-9._-]*$",\n "type": "string"\n },\n "source": {\n "const": "secret",\n "description": "Value for source.",\n "type": "string"\n }\n },\n "required": [\n "source",\n "secret_id"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "name",\n "value"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "url": {\n "description": "Value for url.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "url"\n ],\n "type": "object"\n },\n "http_only": {\n "description": "Value for http only.",\n "type": "boolean"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "same_site": {\n "description": "Value for same site.",\n "enum": [\n "Strict",\n "Lax",\n "None"\n ],\n "type": "string"\n },\n "secure": {\n "description": "Value for secure.",\n "type": "boolean"\n },\n "value": {\n "description": "Value for value.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "source": {\n "const": "literal",\n "description": "Value for source.",\n "type": "string"\n },\n "value": {\n "description": "Value for value.",\n "type": "string"\n }\n },\n "required": [\n "source",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "secret_id": {\n "description": "Value for secret id.",\n "pattern": "^[A-Za-z][A-Za-z0-9._-]*$",\n "type": "string"\n },\n "source": {\n "const": "secret",\n "description": "Value for source.",\n "type": "string"\n }\n },\n "required": [\n "source",\n "secret_id"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "name",\n "value",\n "destination",\n "http_only",\n "secure",\n "same_site"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "local_storage": {\n "description": "Value for local storage.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "entries": {\n "description": "Value for entries.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "value": {\n "description": "Value for value.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "source": {\n "const": "literal",\n "description": "Value for source.",\n "type": "string"\n },\n "value": {\n "description": "Value for value.",\n "type": "string"\n }\n },\n "required": [\n "source",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "secret_id": {\n "description": "Value for secret id.",\n "pattern": "^[A-Za-z][A-Za-z0-9._-]*$",\n "type": "string"\n },\n "source": {\n "const": "secret",\n "description": "Value for source.",\n "type": "string"\n }\n },\n "required": [\n "source",\n "secret_id"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "name",\n "value"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "origin": {\n "description": "Value for origin.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "origin",\n "entries"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "session_storage": {\n "description": "Value for session storage.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "entries": {\n "description": "Value for entries.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "value": {\n "description": "Value for value.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "source": {\n "const": "literal",\n "description": "Value for source.",\n "type": "string"\n },\n "value": {\n "description": "Value for value.",\n "type": "string"\n }\n },\n "required": [\n "source",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "secret_id": {\n "description": "Value for secret id.",\n "pattern": "^[A-Za-z][A-Za-z0-9._-]*$",\n "type": "string"\n },\n "source": {\n "const": "secret",\n "description": "Value for source.",\n "type": "string"\n }\n },\n "required": [\n "source",\n "secret_id"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "name",\n "value"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "origin": {\n "description": "Value for origin.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "origin",\n "entries"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "type": "object"\n }\n },\n "required": [\n "browser",\n "start_url",\n "actions"\n ],\n "type": "object"\n },\n "kind": "browser-provider",\n "name": "capture_browser_scenario",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "browser": {\n "additionalProperties": false,\n "properties": {\n "cleanup": {\n "enum": [\n "terminated-owned-process",\n "disconnected-external"\n ],\n "type": "string"\n },\n "mode": {\n "enum": [\n "launch",\n "connect"\n ],\n "type": "string"\n },\n "process_ownership": {\n "enum": [\n "provider-owned",\n "external"\n ],\n "type": "string"\n },\n "product": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "mode",\n "process_ownership",\n "cleanup",\n "product",\n "version"\n ],\n "type": "object"\n },\n "completeness": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "equality_eligible": {\n "const": true,\n "type": "boolean"\n },\n "missing_sections": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "status": {\n "const": "complete",\n "type": "string"\n },\n "truncated_sections": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n }\n },\n "required": [\n "status",\n "equality_eligible",\n "missing_sections",\n "truncated_sections"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "equality_eligible": {\n "const": false,\n "type": "boolean"\n },\n "missing_sections": {\n "items": {\n "enum": [\n "action",\n "screenshot",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage",\n "events",\n "frames",\n "workers",\n "popups",\n "websockets"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "status": {\n "const": "incomplete",\n "type": "string"\n },\n "truncated_sections": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n }\n },\n "required": [\n "status",\n "equality_eligible",\n "missing_sections",\n "truncated_sections"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "equality_eligible": {\n "const": false,\n "type": "boolean"\n },\n "missing_sections": {\n "items": {\n "enum": [\n "action",\n "screenshot",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage",\n "events",\n "frames",\n "workers",\n "popups",\n "websockets"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "status": {\n "const": "truncated",\n "type": "string"\n },\n "truncated_sections": {\n "items": {\n "enum": [\n "action",\n "screenshot",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage",\n "events",\n "frames",\n "workers",\n "popups",\n "websockets"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "status",\n "equality_eligible",\n "missing_sections",\n "truncated_sections"\n ],\n "type": "object"\n }\n ]\n },\n "duration_ms": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "events": {\n "additionalProperties": false,\n "properties": {\n "dropped": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "items": {\n "items": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "console",\n "type": "string"\n },\n "level": {\n "minLength": 1,\n "type": "string"\n },\n "sequence": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "step_index": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "text": {\n "type": "string"\n },\n "url": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "query_parameter_names": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "type": "boolean"\n },\n "url": {\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "sequence",\n "step_index",\n "kind",\n "level",\n "text",\n "url"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "page-error",\n "type": "string"\n },\n "message": {\n "type": "string"\n },\n "sequence": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "stack": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "step_index": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "sequence",\n "step_index",\n "kind",\n "message",\n "stack"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "failure": {\n "type": "null"\n },\n "header_names": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "kind": {\n "const": "request",\n "type": "string"\n },\n "method": {\n "minLength": 1,\n "type": "string"\n },\n "redirected_from_transaction_id": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "resource_type": {\n "minLength": 1,\n "type": "string"\n },\n "sequence": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "status": {\n "type": "null"\n },\n "step_index": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "transaction_id": {\n "minLength": 1,\n "type": "string"\n },\n "url": {\n "additionalProperties": false,\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "query_parameter_names": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "type": "boolean"\n },\n "url": {\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n }\n },\n "required": [\n "sequence",\n "step_index",\n "method",\n "url",\n "resource_type",\n "header_names",\n "kind",\n "status",\n "failure"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "failure": {\n "type": "null"\n },\n "header_names": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "kind": {\n "const": "response",\n "type": "string"\n },\n "method": {\n "minLength": 1,\n "type": "string"\n },\n "redirected_from_transaction_id": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "resource_type": {\n "minLength": 1,\n "type": "string"\n },\n "sequence": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "status": {\n "maximum": 599,\n "minimum": 100,\n "type": "integer"\n },\n "step_index": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "transaction_id": {\n "minLength": 1,\n "type": "string"\n },\n "url": {\n "additionalProperties": false,\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "query_parameter_names": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "type": "boolean"\n },\n "url": {\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n }\n },\n "required": [\n "sequence",\n "step_index",\n "method",\n "url",\n "resource_type",\n "header_names",\n "kind",\n "status",\n "failure"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "failure": {\n "minLength": 1,\n "type": "string"\n },\n "header_names": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "kind": {\n "const": "request-failed",\n "type": "string"\n },\n "method": {\n "minLength": 1,\n "type": "string"\n },\n "redirected_from_transaction_id": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "resource_type": {\n "minLength": 1,\n "type": "string"\n },\n "sequence": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "status": {\n "type": "null"\n },\n "step_index": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "transaction_id": {\n "minLength": 1,\n "type": "string"\n },\n "url": {\n "additionalProperties": false,\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "query_parameter_names": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "type": "boolean"\n },\n "url": {\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n }\n },\n "required": [\n "sequence",\n "step_index",\n "method",\n "url",\n "resource_type",\n "header_names",\n "kind",\n "status",\n "failure"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "failure": {\n "type": "null"\n },\n "header_names": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "kind": {\n "const": "request-finished",\n "type": "string"\n },\n "method": {\n "minLength": 1,\n "type": "string"\n },\n "redirected_from_transaction_id": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "resource_type": {\n "minLength": 1,\n "type": "string"\n },\n "sequence": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "status": {\n "type": "null"\n },\n "step_index": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "transaction_id": {\n "minLength": 1,\n "type": "string"\n },\n "url": {\n "additionalProperties": false,\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "query_parameter_names": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "type": "boolean"\n },\n "url": {\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n }\n },\n "required": [\n "sequence",\n "step_index",\n "method",\n "url",\n "resource_type",\n "header_names",\n "kind",\n "status",\n "failure"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "failure": {\n "type": "null"\n },\n "header_names": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "kind": {\n "const": "request-unfinished",\n "type": "string"\n },\n "method": {\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "enum": [\n "capture-ended",\n "cancelled"\n ],\n "type": "string"\n },\n "redirected_from_transaction_id": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "resource_type": {\n "minLength": 1,\n "type": "string"\n },\n "sequence": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "status": {\n "type": "null"\n },\n "step_index": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "transaction_id": {\n "minLength": 1,\n "type": "string"\n },\n "url": {\n "additionalProperties": false,\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "query_parameter_names": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "type": "boolean"\n },\n "url": {\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n }\n },\n "required": [\n "sequence",\n "step_index",\n "method",\n "url",\n "resource_type",\n "header_names",\n "kind",\n "status",\n "failure",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "body": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "not_requested",\n "type": "string"\n }\n },\n "required": [\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "not_exposed",\n "type": "string"\n }\n },\n "required": [\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "enum": [\n "request-failed",\n "response-unfinished",\n "body-read-failed",\n "body-read-timeout",\n "cancelled",\n "capture-ended"\n ],\n "type": "string"\n },\n "state": {\n "const": "unavailable",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason",\n "message"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "content": {\n "type": "string"\n },\n "encoding": {\n "const": "base64",\n "type": "string"\n },\n "media_type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "redacted": {\n "type": "boolean"\n },\n "representation": {\n "enum": [\n "browser-exposed-request-bytes",\n "browser-decoded-response-bytes"\n ],\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "state": {\n "const": "captured",\n "type": "string"\n }\n },\n "required": [\n "state",\n "representation",\n "encoding",\n "content",\n "bytes",\n "sha256",\n "media_type",\n "redacted"\n ],\n "type": "object"\n }\n ]\n },\n "headers": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "not_requested",\n "type": "string"\n }\n },\n "required": [\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "state": {\n "const": "unavailable",\n "type": "string"\n }\n },\n "required": [\n "state",\n "message"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "items": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "redacted": {\n "type": "boolean"\n },\n "value": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "name",\n "value",\n "redacted"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "state": {\n "const": "captured",\n "type": "string"\n }\n },\n "required": [\n "state",\n "items"\n ],\n "type": "object"\n }\n ]\n },\n "kind": {\n "const": "network-content",\n "type": "string"\n },\n "phase": {\n "enum": [\n "request",\n "response"\n ],\n "type": "string"\n },\n "sequence": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "source_event_sequence": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "step_index": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "transaction_id": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "sequence",\n "step_index",\n "kind",\n "transaction_id",\n "source_event_sequence",\n "phase",\n "headers",\n "body"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "enum": [\n "websocket-opened",\n "websocket-closed"\n ],\n "type": "string"\n },\n "sequence": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "step_index": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "url": {\n "additionalProperties": false,\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "query_parameter_names": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "type": "boolean"\n },\n "url": {\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n }\n },\n "required": [\n "sequence",\n "step_index",\n "kind",\n "url"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "enum": [\n "websocket-frame-sent",\n "websocket-frame-received"\n ],\n "type": "string"\n },\n "payload_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "payload_text": {\n "type": "string"\n },\n "payload_type": {\n "const": "text",\n "type": "string"\n },\n "sequence": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "step_index": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "truncated": {\n "type": "boolean"\n },\n "url": {\n "additionalProperties": false,\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "query_parameter_names": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "type": "boolean"\n },\n "url": {\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n }\n },\n "required": [\n "sequence",\n "step_index",\n "kind",\n "url",\n "payload_bytes",\n "truncated",\n "payload_type",\n "payload_text"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "enum": [\n "websocket-frame-sent",\n "websocket-frame-received"\n ],\n "type": "string"\n },\n "payload_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "payload_text": {\n "type": "null"\n },\n "payload_type": {\n "const": "binary",\n "type": "string"\n },\n "sequence": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "step_index": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "truncated": {\n "type": "boolean"\n },\n "url": {\n "additionalProperties": false,\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "query_parameter_names": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "type": "boolean"\n },\n "url": {\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n }\n },\n "required": [\n "sequence",\n "step_index",\n "kind",\n "url",\n "payload_bytes",\n "truncated",\n "payload_type",\n "payload_text"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "enum": [\n "frame-attached",\n "frame-detached",\n "frame-navigated",\n "worker-created",\n "worker-closed",\n "popup-opened",\n "popup-closed"\n ],\n "type": "string"\n },\n "name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "sequence": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "step_index": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "url": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "query_parameter_names": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "type": "boolean"\n },\n "url": {\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "sequence",\n "step_index",\n "kind",\n "url",\n "name"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "download-cancelled",\n "type": "string"\n },\n "sequence": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "step_index": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "suggested_filename": {\n "type": "string"\n },\n "url": {\n "additionalProperties": false,\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "query_parameter_names": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "type": "boolean"\n },\n "url": {\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n }\n },\n "required": [\n "sequence",\n "step_index",\n "kind",\n "suggested_filename",\n "url"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "retained": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "retained",\n "dropped",\n "items"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "scenario": {\n "additionalProperties": false,\n "properties": {\n "action_count": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "network_content": {\n "additionalProperties": false,\n "properties": {\n "header_values": {\n "default": false,\n "type": "boolean"\n },\n "request_body": {\n "default": false,\n "type": "boolean"\n },\n "response_body": {\n "default": false,\n "type": "boolean"\n }\n },\n "required": [\n "request_body",\n "response_body",\n "header_values"\n ],\n "type": "object"\n },\n "secret_references": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "start_origin": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "start_origin",\n "action_count",\n "secret_references"\n ],\n "type": "object"\n },\n "steps": {\n "items": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n },\n "after_url": {\n "additionalProperties": false,\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "query_parameter_names": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "type": "boolean"\n },\n "url": {\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n },\n "artifacts": {\n "additionalProperties": false,\n "properties": {\n "accessibility": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "captured",\n "type": "string"\n },\n "value": {\n "additionalProperties": false,\n "properties": {\n "bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "text": {\n "type": "string"\n }\n },\n "required": [\n "sha256",\n "bytes",\n "text"\n ],\n "type": "object"\n }\n },\n "required": [\n "state",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "not_requested",\n "type": "string"\n }\n },\n "required": [\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "minLength": 1,\n "type": "string"\n },\n "state": {\n "const": "missing",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "observed": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "reason": {\n "minLength": 1,\n "type": "string"\n },\n "retained": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "state": {\n "const": "truncated",\n "type": "string"\n }\n },\n "required": [\n "state",\n "observed",\n "retained",\n "reason"\n ],\n "type": "object"\n }\n ]\n },\n "dom": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "captured",\n "type": "string"\n },\n "value": {\n "additionalProperties": false,\n "properties": {\n "bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "text": {\n "type": "string"\n }\n },\n "required": [\n "sha256",\n "bytes",\n "text"\n ],\n "type": "object"\n }\n },\n "required": [\n "state",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "not_requested",\n "type": "string"\n }\n },\n "required": [\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "minLength": 1,\n "type": "string"\n },\n "state": {\n "const": "missing",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "observed": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "reason": {\n "minLength": 1,\n "type": "string"\n },\n "retained": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "state": {\n "const": "truncated",\n "type": "string"\n }\n },\n "required": [\n "state",\n "observed",\n "retained",\n "reason"\n ],\n "type": "object"\n }\n ]\n },\n "history": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "captured",\n "type": "string"\n },\n "value": {\n "additionalProperties": false,\n "properties": {\n "current_url": {\n "additionalProperties": false,\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "query_parameter_names": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "type": "boolean"\n },\n "url": {\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n },\n "length": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "navigation_entries": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "additionalProperties": false,\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "query_parameter_names": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "type": "boolean"\n },\n "url": {\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n },\n "type": {\n "enum": [\n "navigate",\n "reload",\n "back_forward",\n "prerender",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "type",\n "name"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "length",\n "current_url",\n "navigation_entries"\n ],\n "type": "object"\n }\n },\n "required": [\n "state",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "not_requested",\n "type": "string"\n }\n },\n "required": [\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "minLength": 1,\n "type": "string"\n },\n "state": {\n "const": "missing",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "observed": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "reason": {\n "minLength": 1,\n "type": "string"\n },\n "retained": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "state": {\n "const": "truncated",\n "type": "string"\n }\n },\n "required": [\n "state",\n "observed",\n "retained",\n "reason"\n ],\n "type": "object"\n }\n ]\n },\n "screenshot": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "captured",\n "type": "string"\n },\n "value": {\n "additionalProperties": false,\n "properties": {\n "bytes": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "data_base64": {\n "type": "string"\n },\n "media_type": {\n "const": "image/png",\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256",\n "bytes",\n "media_type",\n "data_base64"\n ],\n "type": "object"\n }\n },\n "required": [\n "state",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "not_requested",\n "type": "string"\n }\n },\n "required": [\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "minLength": 1,\n "type": "string"\n },\n "state": {\n "const": "missing",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "observed": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "reason": {\n "minLength": 1,\n "type": "string"\n },\n "retained": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "state": {\n "const": "truncated",\n "type": "string"\n }\n },\n "required": [\n "state",\n "observed",\n "retained",\n "reason"\n ],\n "type": "object"\n }\n ]\n },\n "storage": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "captured",\n "type": "string"\n },\n "value": {\n "additionalProperties": false,\n "properties": {\n "cookies": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "domain": {\n "type": "string"\n },\n "http_only": {\n "type": "boolean"\n },\n "name": {\n "type": "string"\n },\n "path": {\n "type": "string"\n },\n "same_site": {\n "enum": [\n "Strict",\n "Lax",\n "None"\n ],\n "type": "string"\n },\n "secure": {\n "type": "boolean"\n },\n "value_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "value_state": {\n "const": "hashed",\n "type": "string"\n }\n },\n "required": [\n "name",\n "domain",\n "path",\n "secure",\n "http_only",\n "same_site",\n "value_state",\n "value_sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "domain": {\n "type": "string"\n },\n "http_only": {\n "type": "boolean"\n },\n "name": {\n "type": "string"\n },\n "path": {\n "type": "string"\n },\n "same_site": {\n "enum": [\n "Strict",\n "Lax",\n "None"\n ],\n "type": "string"\n },\n "secure": {\n "type": "boolean"\n },\n "value_sha256": {\n "type": "null"\n },\n "value_state": {\n "const": "redacted-secret",\n "type": "string"\n }\n },\n "required": [\n "name",\n "domain",\n "path",\n "secure",\n "http_only",\n "same_site",\n "value_state",\n "value_sha256"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "local_storage": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "name": {\n "type": "string"\n },\n "value_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "value_state": {\n "const": "hashed",\n "type": "string"\n }\n },\n "required": [\n "name",\n "value_state",\n "value_sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "name": {\n "type": "string"\n },\n "value_sha256": {\n "type": "null"\n },\n "value_state": {\n "const": "redacted-secret",\n "type": "string"\n }\n },\n "required": [\n "name",\n "value_state",\n "value_sha256"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "session_storage": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "name": {\n "type": "string"\n },\n "value_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "value_state": {\n "const": "hashed",\n "type": "string"\n }\n },\n "required": [\n "name",\n "value_state",\n "value_sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "name": {\n "type": "string"\n },\n "value_sha256": {\n "type": "null"\n },\n "value_state": {\n "const": "redacted-secret",\n "type": "string"\n }\n },\n "required": [\n "name",\n "value_state",\n "value_sha256"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n }\n },\n "required": [\n "cookies",\n "local_storage",\n "session_storage"\n ],\n "type": "object"\n }\n },\n "required": [\n "state",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "not_requested",\n "type": "string"\n }\n },\n "required": [\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "minLength": 1,\n "type": "string"\n },\n "state": {\n "const": "missing",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "observed": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "reason": {\n "minLength": 1,\n "type": "string"\n },\n "retained": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "state": {\n "const": "truncated",\n "type": "string"\n }\n },\n "required": [\n "state",\n "observed",\n "retained",\n "reason"\n ],\n "type": "object"\n }\n ]\n },\n "url": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "captured",\n "type": "string"\n },\n "value": {\n "additionalProperties": false,\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "query_parameter_names": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "type": "boolean"\n },\n "url": {\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n }\n },\n "required": [\n "state",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "not_requested",\n "type": "string"\n }\n },\n "required": [\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "minLength": 1,\n "type": "string"\n },\n "state": {\n "const": "missing",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "observed": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "reason": {\n "minLength": 1,\n "type": "string"\n },\n "retained": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "state": {\n "const": "truncated",\n "type": "string"\n }\n },\n "required": [\n "state",\n "observed",\n "retained",\n "reason"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "screenshot",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage"\n ],\n "type": "object"\n },\n "before_url": {\n "additionalProperties": false,\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "query_parameter_names": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "type": "boolean"\n },\n "url": {\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n },\n "completeness": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "equality_eligible": {\n "const": true,\n "type": "boolean"\n },\n "missing_sections": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "status": {\n "const": "complete",\n "type": "string"\n },\n "truncated_sections": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n }\n },\n "required": [\n "status",\n "equality_eligible",\n "missing_sections",\n "truncated_sections"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "equality_eligible": {\n "const": false,\n "type": "boolean"\n },\n "missing_sections": {\n "items": {\n "enum": [\n "action",\n "screenshot",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage",\n "events",\n "frames",\n "workers",\n "popups",\n "websockets"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "status": {\n "const": "incomplete",\n "type": "string"\n },\n "truncated_sections": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n }\n },\n "required": [\n "status",\n "equality_eligible",\n "missing_sections",\n "truncated_sections"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "equality_eligible": {\n "const": false,\n "type": "boolean"\n },\n "missing_sections": {\n "items": {\n "enum": [\n "action",\n "screenshot",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage",\n "events",\n "frames",\n "workers",\n "popups",\n "websockets"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "status": {\n "const": "truncated",\n "type": "string"\n },\n "truncated_sections": {\n "items": {\n "enum": [\n "action",\n "screenshot",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage",\n "events",\n "frames",\n "workers",\n "popups",\n "websockets"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "status",\n "equality_eligible",\n "missing_sections",\n "truncated_sections"\n ],\n "type": "object"\n }\n ]\n },\n "elapsed_ms": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "error": {\n "type": "null"\n },\n "event_sequence_end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "event_sequence_start": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "status": {\n "const": "completed",\n "type": "string"\n },\n "step_id": {\n "minLength": 1,\n "type": "string"\n },\n "step_index": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "step_index",\n "step_id",\n "action",\n "elapsed_ms",\n "before_url",\n "after_url",\n "event_sequence_start",\n "event_sequence_end",\n "artifacts",\n "completeness",\n "status",\n "error"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "action": {\n "minLength": 1,\n "type": "string"\n },\n "after_url": {\n "additionalProperties": false,\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "query_parameter_names": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "type": "boolean"\n },\n "url": {\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n },\n "artifacts": {\n "additionalProperties": false,\n "properties": {\n "accessibility": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "captured",\n "type": "string"\n },\n "value": {\n "additionalProperties": false,\n "properties": {\n "bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "text": {\n "type": "string"\n }\n },\n "required": [\n "sha256",\n "bytes",\n "text"\n ],\n "type": "object"\n }\n },\n "required": [\n "state",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "not_requested",\n "type": "string"\n }\n },\n "required": [\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "minLength": 1,\n "type": "string"\n },\n "state": {\n "const": "missing",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "observed": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "reason": {\n "minLength": 1,\n "type": "string"\n },\n "retained": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "state": {\n "const": "truncated",\n "type": "string"\n }\n },\n "required": [\n "state",\n "observed",\n "retained",\n "reason"\n ],\n "type": "object"\n }\n ]\n },\n "dom": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "captured",\n "type": "string"\n },\n "value": {\n "additionalProperties": false,\n "properties": {\n "bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "text": {\n "type": "string"\n }\n },\n "required": [\n "sha256",\n "bytes",\n "text"\n ],\n "type": "object"\n }\n },\n "required": [\n "state",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "not_requested",\n "type": "string"\n }\n },\n "required": [\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "minLength": 1,\n "type": "string"\n },\n "state": {\n "const": "missing",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "observed": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "reason": {\n "minLength": 1,\n "type": "string"\n },\n "retained": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "state": {\n "const": "truncated",\n "type": "string"\n }\n },\n "required": [\n "state",\n "observed",\n "retained",\n "reason"\n ],\n "type": "object"\n }\n ]\n },\n "history": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "captured",\n "type": "string"\n },\n "value": {\n "additionalProperties": false,\n "properties": {\n "current_url": {\n "additionalProperties": false,\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "query_parameter_names": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "type": "boolean"\n },\n "url": {\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n },\n "length": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "navigation_entries": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "additionalProperties": false,\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "query_parameter_names": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "type": "boolean"\n },\n "url": {\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n },\n "type": {\n "enum": [\n "navigate",\n "reload",\n "back_forward",\n "prerender",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "type",\n "name"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "length",\n "current_url",\n "navigation_entries"\n ],\n "type": "object"\n }\n },\n "required": [\n "state",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "not_requested",\n "type": "string"\n }\n },\n "required": [\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "minLength": 1,\n "type": "string"\n },\n "state": {\n "const": "missing",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "observed": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "reason": {\n "minLength": 1,\n "type": "string"\n },\n "retained": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "state": {\n "const": "truncated",\n "type": "string"\n }\n },\n "required": [\n "state",\n "observed",\n "retained",\n "reason"\n ],\n "type": "object"\n }\n ]\n },\n "screenshot": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "captured",\n "type": "string"\n },\n "value": {\n "additionalProperties": false,\n "properties": {\n "bytes": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "data_base64": {\n "type": "string"\n },\n "media_type": {\n "const": "image/png",\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256",\n "bytes",\n "media_type",\n "data_base64"\n ],\n "type": "object"\n }\n },\n "required": [\n "state",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "not_requested",\n "type": "string"\n }\n },\n "required": [\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "minLength": 1,\n "type": "string"\n },\n "state": {\n "const": "missing",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "observed": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "reason": {\n "minLength": 1,\n "type": "string"\n },\n "retained": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "state": {\n "const": "truncated",\n "type": "string"\n }\n },\n "required": [\n "state",\n "observed",\n "retained",\n "reason"\n ],\n "type": "object"\n }\n ]\n },\n "storage": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "captured",\n "type": "string"\n },\n "value": {\n "additionalProperties": false,\n "properties": {\n "cookies": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "domain": {\n "type": "string"\n },\n "http_only": {\n "type": "boolean"\n },\n "name": {\n "type": "string"\n },\n "path": {\n "type": "string"\n },\n "same_site": {\n "enum": [\n "Strict",\n "Lax",\n "None"\n ],\n "type": "string"\n },\n "secure": {\n "type": "boolean"\n },\n "value_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "value_state": {\n "const": "hashed",\n "type": "string"\n }\n },\n "required": [\n "name",\n "domain",\n "path",\n "secure",\n "http_only",\n "same_site",\n "value_state",\n "value_sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "domain": {\n "type": "string"\n },\n "http_only": {\n "type": "boolean"\n },\n "name": {\n "type": "string"\n },\n "path": {\n "type": "string"\n },\n "same_site": {\n "enum": [\n "Strict",\n "Lax",\n "None"\n ],\n "type": "string"\n },\n "secure": {\n "type": "boolean"\n },\n "value_sha256": {\n "type": "null"\n },\n "value_state": {\n "const": "redacted-secret",\n "type": "string"\n }\n },\n "required": [\n "name",\n "domain",\n "path",\n "secure",\n "http_only",\n "same_site",\n "value_state",\n "value_sha256"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "local_storage": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "name": {\n "type": "string"\n },\n "value_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "value_state": {\n "const": "hashed",\n "type": "string"\n }\n },\n "required": [\n "name",\n "value_state",\n "value_sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "name": {\n "type": "string"\n },\n "value_sha256": {\n "type": "null"\n },\n "value_state": {\n "const": "redacted-secret",\n "type": "string"\n }\n },\n "required": [\n "name",\n "value_state",\n "value_sha256"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "session_storage": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "name": {\n "type": "string"\n },\n "value_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "value_state": {\n "const": "hashed",\n "type": "string"\n }\n },\n "required": [\n "name",\n "value_state",\n "value_sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "name": {\n "type": "string"\n },\n "value_sha256": {\n "type": "null"\n },\n "value_state": {\n "const": "redacted-secret",\n "type": "string"\n }\n },\n "required": [\n "name",\n "value_state",\n "value_sha256"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n }\n },\n "required": [\n "cookies",\n "local_storage",\n "session_storage"\n ],\n "type": "object"\n }\n },\n "required": [\n "state",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "not_requested",\n "type": "string"\n }\n },\n "required": [\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "minLength": 1,\n "type": "string"\n },\n "state": {\n "const": "missing",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "observed": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "reason": {\n "minLength": 1,\n "type": "string"\n },\n "retained": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "state": {\n "const": "truncated",\n "type": "string"\n }\n },\n "required": [\n "state",\n "observed",\n "retained",\n "reason"\n ],\n "type": "object"\n }\n ]\n },\n "url": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "captured",\n "type": "string"\n },\n "value": {\n "additionalProperties": false,\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "query_parameter_names": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "type": "boolean"\n },\n "url": {\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n }\n },\n "required": [\n "state",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "not_requested",\n "type": "string"\n }\n },\n "required": [\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "minLength": 1,\n "type": "string"\n },\n "state": {\n "const": "missing",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "observed": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "reason": {\n "minLength": 1,\n "type": "string"\n },\n "retained": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "state": {\n "const": "truncated",\n "type": "string"\n }\n },\n "required": [\n "state",\n "observed",\n "retained",\n "reason"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "screenshot",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage"\n ],\n "type": "object"\n },\n "before_url": {\n "additionalProperties": false,\n "properties": {\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "query_parameter_names": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "redacted": {\n "type": "boolean"\n },\n "url": {\n "type": "string"\n }\n },\n "required": [\n "url",\n "origin",\n "query_parameter_names",\n "redacted"\n ],\n "type": "object"\n },\n "completeness": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "equality_eligible": {\n "const": true,\n "type": "boolean"\n },\n "missing_sections": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "status": {\n "const": "complete",\n "type": "string"\n },\n "truncated_sections": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n }\n },\n "required": [\n "status",\n "equality_eligible",\n "missing_sections",\n "truncated_sections"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "equality_eligible": {\n "const": false,\n "type": "boolean"\n },\n "missing_sections": {\n "items": {\n "enum": [\n "action",\n "screenshot",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage",\n "events",\n "frames",\n "workers",\n "popups",\n "websockets"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "status": {\n "const": "incomplete",\n "type": "string"\n },\n "truncated_sections": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n }\n },\n "required": [\n "status",\n "equality_eligible",\n "missing_sections",\n "truncated_sections"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "equality_eligible": {\n "const": false,\n "type": "boolean"\n },\n "missing_sections": {\n "items": {\n "enum": [\n "action",\n "screenshot",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage",\n "events",\n "frames",\n "workers",\n "popups",\n "websockets"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "status": {\n "const": "truncated",\n "type": "string"\n },\n "truncated_sections": {\n "items": {\n "enum": [\n "action",\n "screenshot",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage",\n "events",\n "frames",\n "workers",\n "popups",\n "websockets"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "status",\n "equality_eligible",\n "missing_sections",\n "truncated_sections"\n ],\n "type": "object"\n }\n ]\n },\n "elapsed_ms": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "error": {\n "type": "string"\n },\n "event_sequence_end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "event_sequence_start": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "status": {\n "enum": [\n "failed",\n "cancelled"\n ],\n "type": "string"\n },\n "step_id": {\n "minLength": 1,\n "type": "string"\n },\n "step_index": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "step_index",\n "step_id",\n "action",\n "elapsed_ms",\n "before_url",\n "after_url",\n "event_sequence_start",\n "event_sequence_end",\n "artifacts",\n "completeness",\n "status",\n "error"\n ],\n "type": "object"\n }\n ]\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "browser",\n "scenario",\n "duration_ms",\n "steps",\n "events",\n "completeness",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Capture Browser Scenario"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": true,\n "readOnlyHint": false\n },\n "description": "List every Electron file:// page target from a selected loopback CDP endpoint. Local file paths are canonicalized after symlink resolution. Selecting an endpoint exposes every eligible target and its local path metadata.",\n "effects": {\n "accessesNetwork": true,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "cdp_endpoint": "http://127.0.0.1:9223"\n }\n ],\n "properties": {\n "cdp_endpoint": {\n "description": "Literal loopback Chrome DevTools Protocol endpoint.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "cdp_endpoint"\n ],\n "type": "object"\n },\n "kind": "electron-provider",\n "name": "list_electron_targets",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "browser": {\n "additionalProperties": false,\n "properties": {\n "js_version": {\n "type": "string"\n },\n "product": {\n "type": "string"\n },\n "protocol_version": {\n "type": "string"\n },\n "revision": {\n "type": "string"\n },\n "user_agent": {\n "type": "string"\n }\n },\n "required": [\n "product",\n "protocol_version",\n "revision",\n "user_agent",\n "js_version"\n ],\n "type": "object"\n },\n "excluded": {\n "additionalProperties": false,\n "properties": {\n "non_page": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "unsupported_url": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "unsupported_url",\n "non_page"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "targets": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "attached": {\n "type": "boolean"\n },\n "file_path": {\n "type": "string"\n },\n "target_id": {\n "type": "string"\n },\n "title": {\n "type": "string"\n },\n "type": {\n "type": "string"\n }\n },\n "required": [\n "target_id",\n "type",\n "title",\n "file_path",\n "attached"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "browser",\n "targets",\n "excluded",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "List Electron Targets"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": true,\n "readOnlyHint": false\n },\n "description": "Passively inspect one Electron file page by supplying its loopback CDP endpoint and target ID. The provider rechecks that the target currently exists at that endpoint and is a local file page. Returns frames, DOM structure, resource paths, and scripts without evaluating renderer JavaScript or invoking Electron APIs. The selected endpoint exposes every local file page and its metadata to this tool.",\n "effects": {\n "accessesNetwork": true,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "cdp_endpoint": {\n "description": "Literal loopback Chrome DevTools Protocol endpoint.",\n "minLength": 1,\n "type": "string"\n },\n "include_script_sources": {\n "const": false,\n "default": false,\n "description": "Whether to include script sources in the result.",\n "type": "boolean"\n },\n "observation_ms": {\n "default": 100,\n "description": "Value for observation ms.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "target_id": {\n "description": "Exact CDP target identifier selected from the endpoint\'s target listing.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "cdp_endpoint",\n "target_id"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "cdp_endpoint": {\n "description": "Literal loopback Chrome DevTools Protocol endpoint.",\n "minLength": 1,\n "type": "string"\n },\n "include_script_sources": {\n "const": true,\n "description": "Whether to include script sources in the result.",\n "type": "boolean"\n },\n "observation_ms": {\n "default": 100,\n "description": "Value for observation ms.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "target_id": {\n "description": "Exact CDP target identifier selected from the endpoint\'s target listing.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "cdp_endpoint",\n "target_id",\n "include_script_sources"\n ],\n "type": "object"\n }\n ],\n "examples": [\n {\n "cdp_endpoint": "http://127.0.0.1:9223",\n "target_id": "TARGET_ID_FROM_LIST_ELECTRON_TARGETS"\n }\n ],\n "type": "object"\n },\n "kind": "electron-provider",\n "name": "inspect_electron_page",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "browser": {\n "additionalProperties": false,\n "properties": {\n "js_version": {\n "type": "string"\n },\n "product": {\n "type": "string"\n },\n "protocol_version": {\n "type": "string"\n },\n "revision": {\n "type": "string"\n },\n "user_agent": {\n "type": "string"\n }\n },\n "required": [\n "product",\n "protocol_version",\n "revision",\n "user_agent",\n "js_version"\n ],\n "type": "object"\n },\n "capture_window": {\n "additionalProperties": false,\n "properties": {\n "ended_at": {\n "format": "date-time",\n "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))$",\n "type": "string"\n },\n "observation_ms": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "started_at": {\n "format": "date-time",\n "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))$",\n "type": "string"\n }\n },\n "required": [\n "started_at",\n "ended_at",\n "observation_ms"\n ],\n "type": "object"\n },\n "completeness": {\n "additionalProperties": false,\n "properties": {\n "attach_limited_sections": {\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "conditions": {\n "items": {\n "enum": [\n "complete_within_window",\n "policy_filtered",\n "attach_limited",\n "truncated"\n ],\n "type": "string"\n },\n "maxItems": 3,\n "minItems": 1,\n "type": "array"\n },\n "dropped_events": {\n "additionalProperties": false,\n "properties": {\n "console_events": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "network_requests": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "scripts": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "timeline_events": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "total": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "webmcp_tools": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "websocket_connections": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "websocket_frames": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "scripts",\n "network_requests",\n "console_events",\n "websocket_connections",\n "websocket_frames",\n "webmcp_tools",\n "timeline_events",\n "total"\n ],\n "type": "object"\n },\n "excluded": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "reason": {\n "enum": [\n "disallowed_origin",\n "unsupported_url",\n "unattributed_origin",\n "not_approved",\n "out_of_target_scope",\n "provider_unavailable",\n "invalid_protocol_value"\n ],\n "type": "string"\n },\n "section": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n }\n },\n "required": [\n "section",\n "reason",\n "count"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "policy_filtered_sections": {\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "status": {\n "enum": [\n "complete_within_window",\n "policy_filtered",\n "attach_limited",\n "truncated"\n ],\n "type": "string"\n },\n "truncated_sections": {\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "unavailable_sections": {\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n }\n },\n "required": [\n "status",\n "conditions",\n "policy_filtered_sections",\n "attach_limited_sections",\n "truncated_sections",\n "unavailable_sections",\n "excluded",\n "dropped_events"\n ],\n "type": "object"\n },\n "dom": {\n "additionalProperties": false,\n "properties": {\n "nodes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "attribute_names": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "index": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "node_name": {\n "type": "string"\n },\n "node_type": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "node_value_length": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "parent_index": {\n "maximum": 9007199254740991,\n "minimum": -1,\n "type": "integer"\n }\n },\n "required": [\n "index",\n "parent_index",\n "node_type",\n "node_name",\n "node_value_length",\n "attribute_names"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "total_nodes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "total_nodes",\n "nodes"\n ],\n "type": "object"\n },\n "frames": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "file_path": {\n "type": "string"\n },\n "frame_id": {\n "type": "string"\n },\n "parent_frame_id": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "frame_id",\n "parent_frame_id",\n "file_path"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "resources": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "content_size": {\n "anyOf": [\n {\n "minimum": 0,\n "type": "number"\n },\n {\n "type": "null"\n }\n ]\n },\n "file_path": {\n "type": "string"\n },\n "mime_type": {\n "type": "string"\n },\n "resource_key": {\n "pattern": "^electron_resource_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": {\n "type": "string"\n }\n },\n "required": [\n "resource_key",\n "file_path",\n "type",\n "mime_type",\n "content_size"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "scripts": {\n "additionalProperties": false,\n "properties": {\n "items": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "cdp_hash": {\n "type": "string"\n },\n "file_path": {\n "type": "string"\n },\n "frame_id": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "is_module": {\n "type": "boolean"\n },\n "language": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "length": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "script_key": {\n "pattern": "^electron_script_[a-f0-9]{64}$",\n "type": "string"\n },\n "source": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "included": {\n "const": false,\n "type": "boolean"\n },\n "reason": {\n "type": "string"\n }\n },\n "required": [\n "included",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "artifact": {\n "additionalProperties": false,\n "properties": {\n "bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "charset": {\n "const": "utf-8",\n "type": "string"\n },\n "media_type": {\n "minLength": 1,\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "text": {\n "type": "string"\n }\n },\n "required": [\n "sha256",\n "bytes",\n "media_type",\n "charset",\n "text"\n ],\n "type": "object"\n },\n "included": {\n "const": true,\n "type": "boolean"\n }\n },\n "required": [\n "included",\n "artifact"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "script_key",\n "frame_id",\n "file_path",\n "cdp_hash",\n "length",\n "is_module",\n "language",\n "source"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "total": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "total",\n "items"\n ],\n "type": "object"\n },\n "target": {\n "additionalProperties": false,\n "properties": {\n "attached": {\n "type": "boolean"\n },\n "file_path": {\n "type": "string"\n },\n "target_id": {\n "type": "string"\n },\n "title": {\n "type": "string"\n },\n "type": {\n "type": "string"\n }\n },\n "required": [\n "target_id",\n "type",\n "title",\n "file_path",\n "attached"\n ],\n "type": "object"\n },\n "workers": {\n "default": [],\n "items": {\n "additionalProperties": false,\n "properties": {\n "attached": {\n "type": "boolean"\n },\n "file_path": {\n "type": "string"\n },\n "opener_target_id": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "parent_frame_id": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "target_id": {\n "minLength": 1,\n "type": "string"\n },\n "type": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "target_id",\n "type",\n "file_path",\n "attached",\n "opener_target_id",\n "parent_frame_id"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "browser",\n "target",\n "capture_window",\n "completeness",\n "frames",\n "dom",\n "scripts",\n "resources",\n "workers",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Inspect Electron Page"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Reconstruct one local ASAR or extracted JavaScript application as an inline application graph without executing it. Returns all recovered graph nodes, edges, semantic relations, limitations, and coverage. Integrity mismatches, such as unpacked native modules signed after packaging, fail by default; record-and-continue analyzes the observed bytes and reports each mismatch as an untrusted integrity contradiction.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "format": "auto",\n "input_path": "/Applications/Example.app/Contents/Resources/app.asar"\n }\n ],\n "properties": {\n "format": {\n "default": "auto",\n "description": "Declared input artifact format.",\n "enum": [\n "auto",\n "asar",\n "directory"\n ],\n "type": "string"\n },\n "input_path": {\n "description": "Local filesystem path for input.",\n "minLength": 1,\n "type": "string"\n },\n "integrity_policy": {\n "default": "fail",\n "description": "Value for integrity policy.",\n "enum": [\n "fail",\n "record-and-continue"\n ],\n "type": "string"\n }\n },\n "required": [\n "input_path"\n ],\n "type": "object"\n },\n "kind": "electron-provider",\n "name": "analyze_javascript_application",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "format": {\n "enum": [\n "asar",\n "directory"\n ],\n "type": "string"\n },\n "graph": {\n "additionalProperties": false,\n "properties": {\n "coverage": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "const": 0,\n "type": "number"\n },\n "status": {\n "const": "complete",\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "partial",\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "omitted_count": {\n "anyOf": [\n {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "partial",\n "type": "string"\n },\n "truncated": {\n "const": true,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "type": "null"\n },\n "status": {\n "enum": [\n "unknown",\n "unavailable"\n ],\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n }\n ]\n },\n "edges": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "edge_id": {\n "pattern": "^jag_edge_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "artifact": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "artifact_id": {\n "pattern": "^art_[a-f0-9]{64}$",\n "type": "string"\n },\n "available": {\n "const": true,\n "type": "boolean"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "available",\n "artifact_id",\n "sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "enum": [\n "not-applicable",\n "not-observed",\n "truncated",\n "provider-unavailable",\n "unresolved",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason",\n "detail"\n ],\n "type": "object"\n }\n ]\n },\n "authority": {\n "enum": [\n "artifact-bytes",\n "ast-static-analysis",\n "static-relationship-inference",\n "passive-cdp-runtime",\n "cross-layer-reconciliation",\n "cross-version-comparison",\n "controlled-replay",\n "native-analysis-provider",\n "managed-static-analysis",\n "historical-reference",\n "user-assertion",\n "unknown"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "exact",\n "high",\n "medium",\n "low",\n "unknown"\n ],\n "type": "string"\n },\n "coverage": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "const": 0,\n "type": "number"\n },\n "status": {\n "const": "complete",\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "partial",\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "omitted_count": {\n "anyOf": [\n {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "partial",\n "type": "string"\n },\n "truncated": {\n "const": true,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "type": "null"\n },\n "status": {\n "enum": [\n "unknown",\n "unavailable"\n ],\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n }\n ]\n },\n "evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "extractor": {\n "additionalProperties": false,\n "properties": {\n "executable_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "version",\n "operation",\n "executable_sha256"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "location": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "value": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "line",\n "column"\n ],\n "type": "object"\n },\n "kind": {\n "const": "source-range",\n "type": "string"\n },\n "source": {\n "minLength": 1,\n "type": "string"\n },\n "start": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "line",\n "column"\n ],\n "type": "object"\n }\n },\n "required": [\n "kind",\n "source",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "url",\n "type": "string"\n },\n "url": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "url"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "capture_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "frame_key": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "kind": {\n "const": "runtime",\n "type": "string"\n },\n "script_key": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "target_key": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "capture_sha256",\n "target_key",\n "frame_key",\n "script_key"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "native-address",\n "type": "string"\n },\n "symbol": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "kind",\n "address",\n "symbol"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "export_path": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "package-export",\n "type": "string"\n },\n "package_name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "package_name",\n "export_path"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "available",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "enum": [\n "not-applicable",\n "not-observed",\n "truncated",\n "provider-unavailable",\n "unresolved",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason",\n "detail"\n ],\n "type": "object"\n }\n ]\n },\n "state": {\n "enum": [\n "observed",\n "inferred",\n "unknown",\n "unavailable"\n ],\n "type": "string"\n }\n },\n "required": [\n "authority",\n "state",\n "confidence",\n "artifact",\n "location",\n "extractor",\n "coverage",\n "limitations",\n "evidence_ids"\n ],\n "type": "object"\n },\n "identifier_strategy": {\n "additionalProperties": false,\n "properties": {\n "stability": {\n "const": "relationship-exact",\n "type": "string"\n },\n "strategy": {\n "const": "semantic-content-sha256",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability"\n ],\n "type": "object"\n },\n "properties": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "minLength": 1,\n "type": "string"\n },\n "type": "object"\n },\n "relation": {\n "enum": [\n "contains",\n "loads",\n "imports",\n "maps_to",\n "exposes",\n "sends",\n "invokes",\n "handles",\n "calls",\n "persists_to",\n "observed_as",\n "changed_from"\n ],\n "type": "string"\n },\n "source_node_id": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "target_node_id": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "source_node_id",\n "target_node_id",\n "relation",\n "properties",\n "evidence",\n "edge_id",\n "identifier_strategy"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "graph_id": {\n "pattern": "^jag_[a-f0-9]{64}$",\n "type": "string"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "nodes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "identity": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "stability": {\n "const": "global-exact",\n "type": "string"\n },\n "strategy": {\n "const": "content-digest",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability",\n "sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "original_source": {\n "type": "string"\n },\n "source_map_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "source_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "stability": {\n "const": "source-map-exact",\n "type": "string"\n },\n "strategy": {\n "const": "source-map-original",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability",\n "source_map_sha256",\n "original_source",\n "source_sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "artifact_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n },\n "stability": {\n "const": "artifact-version",\n "type": "string"\n },\n "strategy": {\n "const": "canonical-path",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability",\n "artifact_sha256",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "algorithm": {\n "minLength": 1,\n "type": "string"\n },\n "basis": {\n "items": {\n "enum": [\n "syntax-tree",\n "control-flow",\n "imports",\n "exports",\n "literals",\n "api-usage"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "fingerprint_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "stability": {\n "const": "cross-version-inference",\n "type": "string"\n },\n "strategy": {\n "const": "structural-fingerprint",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability",\n "algorithm",\n "fingerprint_sha256",\n "basis"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "artifact_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "key": {\n "type": "string"\n },\n "namespace": {\n "minLength": 1,\n "type": "string"\n },\n "stability": {\n "const": "artifact-version",\n "type": "string"\n },\n "strategy": {\n "const": "artifact-local-key",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability",\n "artifact_sha256",\n "namespace",\n "key"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "capture_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "runtime_key": {\n "minLength": 1,\n "type": "string"\n },\n "stability": {\n "const": "capture-only",\n "type": "string"\n },\n "strategy": {\n "const": "runtime-instance",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability",\n "capture_sha256",\n "runtime_key"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "observation_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "scope": {\n "minLength": 1,\n "type": "string"\n },\n "stability": {\n "const": "observation-only",\n "type": "string"\n },\n "strategy": {\n "const": "observation-fingerprint",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability",\n "observation_sha256",\n "scope"\n ],\n "type": "object"\n }\n ]\n },\n "kind": {\n "enum": [\n "package",\n "installer",\n "artifact",\n "asar-entry",\n "electron-main",\n "electron-preload",\n "electron-renderer",\n "electron-utility",\n "javascript-asset",\n "javascript-chunk",\n "javascript-module",\n "source-map",\n "source-module",\n "browser-window",\n "frame",\n "target",\n "context-bridge-api",\n "ipc-channel",\n "ipc-handler",\n "worker",\n "service-worker",\n "endpoint",\n "storage",\n "native-addon",\n "native-export",\n "managed-assembly",\n "managed-module",\n "managed-type",\n "managed-method",\n "managed-field",\n "managed-pinvoke-import",\n "managed-native-implementation",\n "runtime-script-instance",\n "unknown"\n ],\n "type": "string"\n },\n "node_id": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "observations": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "artifact": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "artifact_id": {\n "pattern": "^art_[a-f0-9]{64}$",\n "type": "string"\n },\n "available": {\n "const": true,\n "type": "boolean"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "available",\n "artifact_id",\n "sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "enum": [\n "not-applicable",\n "not-observed",\n "truncated",\n "provider-unavailable",\n "unresolved",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason",\n "detail"\n ],\n "type": "object"\n }\n ]\n },\n "authority": {\n "enum": [\n "artifact-bytes",\n "ast-static-analysis",\n "static-relationship-inference",\n "passive-cdp-runtime",\n "cross-layer-reconciliation",\n "cross-version-comparison",\n "controlled-replay",\n "native-analysis-provider",\n "managed-static-analysis",\n "historical-reference",\n "user-assertion",\n "unknown"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "exact",\n "high",\n "medium",\n "low",\n "unknown"\n ],\n "type": "string"\n },\n "coverage": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "const": 0,\n "type": "number"\n },\n "status": {\n "const": "complete",\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "partial",\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "omitted_count": {\n "anyOf": [\n {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "partial",\n "type": "string"\n },\n "truncated": {\n "const": true,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "type": "null"\n },\n "status": {\n "enum": [\n "unknown",\n "unavailable"\n ],\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n }\n ]\n },\n "evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "extractor": {\n "additionalProperties": false,\n "properties": {\n "executable_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "version",\n "operation",\n "executable_sha256"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "location": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "value": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "line",\n "column"\n ],\n "type": "object"\n },\n "kind": {\n "const": "source-range",\n "type": "string"\n },\n "source": {\n "minLength": 1,\n "type": "string"\n },\n "start": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "line",\n "column"\n ],\n "type": "object"\n }\n },\n "required": [\n "kind",\n "source",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "url",\n "type": "string"\n },\n "url": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "url"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "capture_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "frame_key": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "kind": {\n "const": "runtime",\n "type": "string"\n },\n "script_key": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "target_key": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "capture_sha256",\n "target_key",\n "frame_key",\n "script_key"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "native-address",\n "type": "string"\n },\n "symbol": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "kind",\n "address",\n "symbol"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "export_path": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "package-export",\n "type": "string"\n },\n "package_name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "package_name",\n "export_path"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "available",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "enum": [\n "not-applicable",\n "not-observed",\n "truncated",\n "provider-unavailable",\n "unresolved",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason",\n "detail"\n ],\n "type": "object"\n }\n ]\n },\n "state": {\n "enum": [\n "observed",\n "inferred",\n "unknown",\n "unavailable"\n ],\n "type": "string"\n }\n },\n "required": [\n "authority",\n "state",\n "confidence",\n "artifact",\n "location",\n "extractor",\n "coverage",\n "limitations",\n "evidence_ids"\n ],\n "type": "object"\n },\n "identifier_strategy": {\n "additionalProperties": false,\n "properties": {\n "stability": {\n "const": "observation-exact",\n "type": "string"\n },\n "strategy": {\n "const": "semantic-content-sha256",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability"\n ],\n "type": "object"\n },\n "label": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "observation_id": {\n "pattern": "^jag_observation_[a-f0-9]{64}$",\n "type": "string"\n },\n "properties": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "minLength": 1,\n "type": "string"\n },\n "type": "object"\n }\n },\n "required": [\n "label",\n "properties",\n "evidence",\n "observation_id",\n "identifier_strategy"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "node_id",\n "kind",\n "identity",\n "observations"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "root_node_ids": {\n "items": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "schema": {\n "const": "JavaScriptApplicationGraph",\n "type": "string"\n }\n },\n "required": [\n "schema",\n "root_node_ids",\n "nodes",\n "edges",\n "coverage",\n "limitations",\n "graph_id"\n ],\n "type": "object"\n },\n "input_path": {\n "minLength": 1,\n "type": "string"\n },\n "integrity_contradictions": {\n "default": [],\n "items": {\n "additionalProperties": false,\n "properties": {\n "contradiction_id": {\n "pattern": "^ic_[a-f0-9]{64}$",\n "type": "string"\n },\n "declared_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "entry_kind": {\n "enum": [\n "file",\n "slice"\n ],\n "type": "string"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "logical_path": {\n "minLength": 1,\n "type": "string"\n },\n "observed_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "occurrence_id": {\n "pattern": "^occ_[a-f0-9]{64}$",\n "type": "string"\n },\n "parent_artifact_id": {\n "pattern": "^art_[a-f0-9]{64}$",\n "type": "string"\n },\n "provenance": {\n "const": "container-integrity-metadata-versus-observed-bytes",\n "type": "string"\n },\n "trust": {\n "const": "observed-untrusted",\n "type": "string"\n },\n "unpacked": {\n "type": "boolean"\n }\n },\n "required": [\n "contradiction_id",\n "occurrence_id",\n "parent_artifact_id",\n "logical_path",\n "declared_sha256",\n "observed_sha256",\n "entry_kind",\n "unpacked",\n "trust",\n "provenance",\n "limitations"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "inventory_graph_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "inventory_manifest_id": {\n "pattern": "^agm_[a-f0-9]{64}$",\n "type": "string"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "root_artifact_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "semantic_graph": {\n "additionalProperties": false,\n "properties": {\n "application_graph_id": {\n "pattern": "^jag_[a-f0-9]{64}$",\n "type": "string"\n },\n "coverage": {\n "additionalProperties": false,\n "properties": {\n "families": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "family": {\n "enum": [\n "boundary",\n "call-flow",\n "child-process",\n "closure",\n "configuration",\n "data-flow",\n "event",\n "object-flow",\n "promise-ownership",\n "request",\n "resource-lifecycle",\n "timer"\n ],\n "type": "string"\n },\n "omitted_relations": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "retained_relations": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "status": {\n "enum": [\n "complete",\n "partial",\n "unknown",\n "unsupported"\n ],\n "type": "string"\n },\n "unknown_ids": {\n "items": {\n "pattern": "^jsrg_unknown_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n }\n },\n "required": [\n "family",\n "status",\n "retained_relations",\n "omitted_relations",\n "unknown_ids"\n ],\n "type": "object"\n },\n "maxItems": 12,\n "minItems": 12,\n "type": "array"\n },\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_nodes": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "omitted_relations": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "enum": [\n "complete",\n "partial",\n "unknown",\n "unavailable"\n ],\n "type": "string"\n },\n "truncated": {\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_nodes",\n "omitted_relations",\n "limits",\n "families"\n ],\n "type": "object"\n },\n "fingerprints": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "algorithm": {\n "const": "rea.javascript-semantic-function",\n "type": "string"\n },\n "components": {\n "additionalProperties": false,\n "properties": {\n "control_flow_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "effects": {\n "items": {\n "enum": [\n "async",\n "child-process",\n "event",\n "network",\n "promise",\n "resource",\n "timer"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "literal_set_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "normalized_ast_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameter_arity": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "relation_shape_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "parameter_arity",\n "normalized_ast_sha256",\n "control_flow_sha256",\n "relation_shape_sha256",\n "literal_set_sha256",\n "effects"\n ],\n "type": "object"\n },\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "artifact": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "artifact_id": {\n "pattern": "^art_[a-f0-9]{64}$",\n "type": "string"\n },\n "available": {\n "const": true,\n "type": "boolean"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "available",\n "artifact_id",\n "sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "enum": [\n "not-applicable",\n "not-observed",\n "truncated",\n "provider-unavailable",\n "unresolved",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason",\n "detail"\n ],\n "type": "object"\n }\n ]\n },\n "authority": {\n "enum": [\n "artifact-bytes",\n "ast-static-analysis",\n "static-relationship-inference",\n "passive-cdp-runtime",\n "cross-layer-reconciliation",\n "cross-version-comparison",\n "controlled-replay",\n "native-analysis-provider",\n "managed-static-analysis",\n "historical-reference",\n "user-assertion",\n "unknown"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "exact",\n "high",\n "medium",\n "low",\n "unknown"\n ],\n "type": "string"\n },\n "coverage": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "const": 0,\n "type": "number"\n },\n "status": {\n "const": "complete",\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "partial",\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "omitted_count": {\n "anyOf": [\n {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "partial",\n "type": "string"\n },\n "truncated": {\n "const": true,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "type": "null"\n },\n "status": {\n "enum": [\n "unknown",\n "unavailable"\n ],\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n }\n ]\n },\n "evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "extractor": {\n "additionalProperties": false,\n "properties": {\n "executable_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "version",\n "operation",\n "executable_sha256"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "location": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "value": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "line",\n "column"\n ],\n "type": "object"\n },\n "kind": {\n "const": "source-range",\n "type": "string"\n },\n "source": {\n "minLength": 1,\n "type": "string"\n },\n "start": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "line",\n "column"\n ],\n "type": "object"\n }\n },\n "required": [\n "kind",\n "source",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "url",\n "type": "string"\n },\n "url": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "url"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "capture_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "frame_key": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "kind": {\n "const": "runtime",\n "type": "string"\n },\n "script_key": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "target_key": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "capture_sha256",\n "target_key",\n "frame_key",\n "script_key"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "native-address",\n "type": "string"\n },\n "symbol": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "kind",\n "address",\n "symbol"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "export_path": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "package-export",\n "type": "string"\n },\n "package_name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "package_name",\n "export_path"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "available",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "enum": [\n "not-applicable",\n "not-observed",\n "truncated",\n "provider-unavailable",\n "unresolved",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason",\n "detail"\n ],\n "type": "object"\n }\n ]\n },\n "state": {\n "enum": [\n "observed",\n "inferred",\n "unknown",\n "unavailable"\n ],\n "type": "string"\n }\n },\n "required": [\n "authority",\n "state",\n "confidence",\n "artifact",\n "location",\n "extractor",\n "coverage",\n "limitations",\n "evidence_ids"\n ],\n "type": "object"\n },\n "fingerprint_id": {\n "pattern": "^jsrg_fingerprint_[a-f0-9]{64}$",\n "type": "string"\n },\n "fingerprint_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "function_node_id": {\n "pattern": "^jsrg_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "status": {\n "enum": [\n "complete",\n "partial",\n "unavailable"\n ],\n "type": "string"\n }\n },\n "required": [\n "function_node_id",\n "algorithm",\n "status",\n "components",\n "limitations",\n "evidence",\n "fingerprint_id",\n "fingerprint_sha256"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "graph_id": {\n "pattern": "^jsrg_[a-f0-9]{64}$",\n "type": "string"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "nodes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "application_node_ids": {\n "items": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "artifact": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "artifact_id": {\n "pattern": "^art_[a-f0-9]{64}$",\n "type": "string"\n },\n "available": {\n "const": true,\n "type": "boolean"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "available",\n "artifact_id",\n "sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "enum": [\n "not-applicable",\n "not-observed",\n "truncated",\n "provider-unavailable",\n "unresolved",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason",\n "detail"\n ],\n "type": "object"\n }\n ]\n },\n "authority": {\n "enum": [\n "artifact-bytes",\n "ast-static-analysis",\n "static-relationship-inference",\n "passive-cdp-runtime",\n "cross-layer-reconciliation",\n "cross-version-comparison",\n "controlled-replay",\n "native-analysis-provider",\n "managed-static-analysis",\n "historical-reference",\n "user-assertion",\n "unknown"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "exact",\n "high",\n "medium",\n "low",\n "unknown"\n ],\n "type": "string"\n },\n "coverage": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "const": 0,\n "type": "number"\n },\n "status": {\n "const": "complete",\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "partial",\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "omitted_count": {\n "anyOf": [\n {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "partial",\n "type": "string"\n },\n "truncated": {\n "const": true,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "type": "null"\n },\n "status": {\n "enum": [\n "unknown",\n "unavailable"\n ],\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n }\n ]\n },\n "evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "extractor": {\n "additionalProperties": false,\n "properties": {\n "executable_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "version",\n "operation",\n "executable_sha256"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "location": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "value": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "line",\n "column"\n ],\n "type": "object"\n },\n "kind": {\n "const": "source-range",\n "type": "string"\n },\n "source": {\n "minLength": 1,\n "type": "string"\n },\n "start": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "line",\n "column"\n ],\n "type": "object"\n }\n },\n "required": [\n "kind",\n "source",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "url",\n "type": "string"\n },\n "url": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "url"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "capture_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "frame_key": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "kind": {\n "const": "runtime",\n "type": "string"\n },\n "script_key": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "target_key": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "capture_sha256",\n "target_key",\n "frame_key",\n "script_key"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "native-address",\n "type": "string"\n },\n "symbol": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "kind",\n "address",\n "symbol"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "export_path": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "package-export",\n "type": "string"\n },\n "package_name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "package_name",\n "export_path"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "available",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "enum": [\n "not-applicable",\n "not-observed",\n "truncated",\n "provider-unavailable",\n "unresolved",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason",\n "detail"\n ],\n "type": "object"\n }\n ]\n },\n "state": {\n "enum": [\n "observed",\n "inferred",\n "unknown",\n "unavailable"\n ],\n "type": "string"\n }\n },\n "required": [\n "authority",\n "state",\n "confidence",\n "artifact",\n "location",\n "extractor",\n "coverage",\n "limitations",\n "evidence_ids"\n ],\n "type": "object"\n },\n "function_node_id": {\n "anyOf": [\n {\n "pattern": "^jsrg_node_[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "identifier_strategy": {\n "additionalProperties": false,\n "properties": {\n "stability": {\n "const": "artifact-version",\n "type": "string"\n },\n "strategy": {\n "const": "semantic-content-sha256",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability"\n ],\n "type": "object"\n },\n "identity": {\n "additionalProperties": false,\n "properties": {\n "artifact_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "module_path": {\n "minLength": 1,\n "type": "string"\n },\n "role_key": {\n "minLength": 1,\n "type": "string"\n },\n "source_range": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "line",\n "column"\n ],\n "type": "object"\n },\n "start": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "line",\n "column"\n ],\n "type": "object"\n }\n },\n "required": [\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "artifact_sha256",\n "module_path",\n "source_range",\n "role_key"\n ],\n "type": "object"\n },\n "kind": {\n "enum": [\n "module",\n "function",\n "parameter",\n "binding",\n "expression",\n "literal",\n "property-slot",\n "call-site",\n "return-site",\n "closure-capture",\n "promise",\n "task",\n "event",\n "listener",\n "timer",\n "child-process",\n "stdio",\n "signal",\n "config-source",\n "request",\n "response",\n "boundary",\n "resource",\n "unknown-frontier"\n ],\n "type": "string"\n },\n "label": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "node_id": {\n "pattern": "^jsrg_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "properties": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "minLength": 1,\n "type": "string"\n },\n "type": "object"\n }\n },\n "required": [\n "kind",\n "identity",\n "function_node_id",\n "application_node_ids",\n "label",\n "properties",\n "evidence",\n "node_id",\n "identifier_strategy"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "relations": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "artifact": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "artifact_id": {\n "pattern": "^art_[a-f0-9]{64}$",\n "type": "string"\n },\n "available": {\n "const": true,\n "type": "boolean"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "available",\n "artifact_id",\n "sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "enum": [\n "not-applicable",\n "not-observed",\n "truncated",\n "provider-unavailable",\n "unresolved",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason",\n "detail"\n ],\n "type": "object"\n }\n ]\n },\n "authority": {\n "enum": [\n "artifact-bytes",\n "ast-static-analysis",\n "static-relationship-inference",\n "passive-cdp-runtime",\n "cross-layer-reconciliation",\n "cross-version-comparison",\n "controlled-replay",\n "native-analysis-provider",\n "managed-static-analysis",\n "historical-reference",\n "user-assertion",\n "unknown"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "exact",\n "high",\n "medium",\n "low",\n "unknown"\n ],\n "type": "string"\n },\n "coverage": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "const": 0,\n "type": "number"\n },\n "status": {\n "const": "complete",\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "partial",\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "omitted_count": {\n "anyOf": [\n {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "partial",\n "type": "string"\n },\n "truncated": {\n "const": true,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "type": "null"\n },\n "status": {\n "enum": [\n "unknown",\n "unavailable"\n ],\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n }\n ]\n },\n "evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "extractor": {\n "additionalProperties": false,\n "properties": {\n "executable_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "version",\n "operation",\n "executable_sha256"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "location": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "value": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "line",\n "column"\n ],\n "type": "object"\n },\n "kind": {\n "const": "source-range",\n "type": "string"\n },\n "source": {\n "minLength": 1,\n "type": "string"\n },\n "start": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "line",\n "column"\n ],\n "type": "object"\n }\n },\n "required": [\n "kind",\n "source",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "url",\n "type": "string"\n },\n "url": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "url"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "capture_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "frame_key": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "kind": {\n "const": "runtime",\n "type": "string"\n },\n "script_key": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "target_key": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "capture_sha256",\n "target_key",\n "frame_key",\n "script_key"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "native-address",\n "type": "string"\n },\n "symbol": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "kind",\n "address",\n "symbol"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "export_path": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "package-export",\n "type": "string"\n },\n "package_name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "package_name",\n "export_path"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "available",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "enum": [\n "not-applicable",\n "not-observed",\n "truncated",\n "provider-unavailable",\n "unresolved",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason",\n "detail"\n ],\n "type": "object"\n }\n ]\n },\n "state": {\n "enum": [\n "observed",\n "inferred",\n "unknown",\n "unavailable"\n ],\n "type": "string"\n }\n },\n "required": [\n "authority",\n "state",\n "confidence",\n "artifact",\n "location",\n "extractor",\n "coverage",\n "limitations",\n "evidence_ids"\n ],\n "type": "object"\n },\n "identifier_strategy": {\n "additionalProperties": false,\n "properties": {\n "stability": {\n "const": "relationship-exact",\n "type": "string"\n },\n "strategy": {\n "const": "semantic-content-sha256",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability"\n ],\n "type": "object"\n },\n "properties": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "minLength": 1,\n "type": "string"\n },\n "type": "object"\n },\n "relation": {\n "enum": [\n "acquires",\n "aggregates",\n "aliases",\n "argument-to-parameter",\n "awaits",\n "calls",\n "cancels-timer",\n "captures",\n "chains",\n "coerces",\n "connects-stdio",\n "consumed-by",\n "constructs-request",\n "creates-promise",\n "defaults",\n "defines",\n "destructures",\n "detaches-task",\n "dispatches-candidate",\n "forwards-signal",\n "listens-error",\n "listens-exit",\n "owns",\n "overrides",\n "parses",\n "reads",\n "reads-argv",\n "reads-config",\n "reads-environment",\n "reads-property",\n "registers-listener",\n "releases",\n "removes-listener",\n "returns-task",\n "returns-to-call",\n "schedules-timer",\n "spawns",\n "spreads",\n "supplies-argv",\n "supplies-env",\n "supplies-request-field",\n "validates",\n "writes",\n "writes-property"\n ],\n "type": "string"\n },\n "relation_id": {\n "pattern": "^jsrg_relation_[a-f0-9]{64}$",\n "type": "string"\n },\n "resolution": {\n "enum": [\n "resolved",\n "candidate"\n ],\n "type": "string"\n },\n "source_node_id": {\n "pattern": "^jsrg_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "target_node_id": {\n "pattern": "^jsrg_node_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "source_node_id",\n "target_node_id",\n "relation",\n "resolution",\n "properties",\n "evidence",\n "relation_id",\n "identifier_strategy"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "root_artifact_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "root_node_ids": {\n "items": {\n "pattern": "^jsrg_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "schema": {\n "const": "JavaScriptSemanticRelationGraph",\n "type": "string"\n },\n "unknowns": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "candidate_node_ids": {\n "items": {\n "pattern": "^jsrg_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "artifact": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "artifact_id": {\n "pattern": "^art_[a-f0-9]{64}$",\n "type": "string"\n },\n "available": {\n "const": true,\n "type": "boolean"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "available",\n "artifact_id",\n "sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "enum": [\n "not-applicable",\n "not-observed",\n "truncated",\n "provider-unavailable",\n "unresolved",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason",\n "detail"\n ],\n "type": "object"\n }\n ]\n },\n "authority": {\n "enum": [\n "artifact-bytes",\n "ast-static-analysis",\n "static-relationship-inference",\n "passive-cdp-runtime",\n "cross-layer-reconciliation",\n "cross-version-comparison",\n "controlled-replay",\n "native-analysis-provider",\n "managed-static-analysis",\n "historical-reference",\n "user-assertion",\n "unknown"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "exact",\n "high",\n "medium",\n "low",\n "unknown"\n ],\n "type": "string"\n },\n "coverage": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "const": 0,\n "type": "number"\n },\n "status": {\n "const": "complete",\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "partial",\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "omitted_count": {\n "anyOf": [\n {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "partial",\n "type": "string"\n },\n "truncated": {\n "const": true,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "type": "null"\n },\n "status": {\n "enum": [\n "unknown",\n "unavailable"\n ],\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n }\n ]\n },\n "evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "extractor": {\n "additionalProperties": false,\n "properties": {\n "executable_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "version",\n "operation",\n "executable_sha256"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "location": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "value": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "line",\n "column"\n ],\n "type": "object"\n },\n "kind": {\n "const": "source-range",\n "type": "string"\n },\n "source": {\n "minLength": 1,\n "type": "string"\n },\n "start": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "line",\n "column"\n ],\n "type": "object"\n }\n },\n "required": [\n "kind",\n "source",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "url",\n "type": "string"\n },\n "url": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "url"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "capture_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "frame_key": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "kind": {\n "const": "runtime",\n "type": "string"\n },\n "script_key": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "target_key": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "capture_sha256",\n "target_key",\n "frame_key",\n "script_key"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "native-address",\n "type": "string"\n },\n "symbol": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "kind",\n "address",\n "symbol"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "export_path": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "package-export",\n "type": "string"\n },\n "package_name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "package_name",\n "export_path"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "available",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "enum": [\n "not-applicable",\n "not-observed",\n "truncated",\n "provider-unavailable",\n "unresolved",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason",\n "detail"\n ],\n "type": "object"\n }\n ]\n },\n "state": {\n "enum": [\n "observed",\n "inferred",\n "unknown",\n "unavailable"\n ],\n "type": "string"\n }\n },\n "required": [\n "authority",\n "state",\n "confidence",\n "artifact",\n "location",\n "extractor",\n "coverage",\n "limitations",\n "evidence_ids"\n ],\n "type": "object"\n },\n "family": {\n "enum": [\n "boundary",\n "call-flow",\n "child-process",\n "closure",\n "configuration",\n "data-flow",\n "event",\n "object-flow",\n "promise-ownership",\n "request",\n "resource-lifecycle",\n "timer"\n ],\n "type": "string"\n },\n "node_id": {\n "anyOf": [\n {\n "pattern": "^jsrg_node_[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "reason": {\n "enum": [\n "ambiguous-target",\n "bound-reached",\n "dynamic-call",\n "dynamic-property",\n "dynamic-scope",\n "eval-or-generated-code",\n "incomplete-module",\n "missing-source",\n "unsupported-syntax"\n ],\n "type": "string"\n },\n "relation_kinds": {\n "items": {\n "enum": [\n "acquires",\n "aggregates",\n "aliases",\n "argument-to-parameter",\n "awaits",\n "calls",\n "cancels-timer",\n "captures",\n "chains",\n "coerces",\n "connects-stdio",\n "consumed-by",\n "constructs-request",\n "creates-promise",\n "defaults",\n "defines",\n "destructures",\n "detaches-task",\n "dispatches-candidate",\n "forwards-signal",\n "listens-error",\n "listens-exit",\n "owns",\n "overrides",\n "parses",\n "reads",\n "reads-argv",\n "reads-config",\n "reads-environment",\n "reads-property",\n "registers-listener",\n "releases",\n "removes-listener",\n "returns-task",\n "returns-to-call",\n "schedules-timer",\n "spawns",\n "spreads",\n "supplies-argv",\n "supplies-env",\n "supplies-request-field",\n "validates",\n "writes",\n "writes-property"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "unknown_id": {\n "pattern": "^jsrg_unknown_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "node_id",\n "family",\n "relation_kinds",\n "reason",\n "detail",\n "candidate_node_ids",\n "evidence",\n "unknown_id"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "schema",\n "root_artifact_sha256",\n "application_graph_id",\n "root_node_ids",\n "nodes",\n "relations",\n "fingerprints",\n "unknowns",\n "coverage",\n "limitations",\n "graph_id"\n ],\n "type": "object"\n },\n "statistics": {\n "additionalProperties": false,\n "properties": {\n "findings": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "invalid_utf8_files": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "modules": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "nested_asar_containers": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "parse_failures": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "parsed_javascript_files": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "relevant_files": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "text_bytes_read": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "truncated_scopes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "visited_ast_nodes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "relevant_files",\n "nested_asar_containers",\n "text_bytes_read",\n "invalid_utf8_files",\n "parsed_javascript_files",\n "visited_ast_nodes",\n "findings",\n "modules",\n "parse_failures",\n "truncated_scopes"\n ],\n "type": "object"\n },\n "summary": {\n "additionalProperties": false,\n "properties": {\n "browser_windows": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "context_bridge_apis": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "explicit_web_preferences": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "exposed_api_members": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "ipc": {\n "additionalProperties": false,\n "properties": {\n "ambiguous_renderer_transmissions": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "dynamic_channel_operations": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "literal_channels": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "main_handlers": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "operations": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "paired_renderer_transmissions": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "renderer_listeners": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "renderer_transmissions": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "unpaired_literal_renderer_transmissions": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "operations",\n "literal_channels",\n "dynamic_channel_operations",\n "renderer_transmissions",\n "renderer_listeners",\n "main_handlers",\n "paired_renderer_transmissions",\n "ambiguous_renderer_transmissions",\n "unpaired_literal_renderer_transmissions"\n ],\n "type": "object"\n },\n "native_addon_bindings": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "preload_entrypoints": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "resolved_native_addon_bindings": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "resolved_utility_entrypoints": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "sender_validation_observations": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "utility_processes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "browser_windows",\n "explicit_web_preferences",\n "preload_entrypoints",\n "context_bridge_apis",\n "exposed_api_members",\n "ipc",\n "sender_validation_observations",\n "utility_processes",\n "resolved_utility_entrypoints",\n "native_addon_bindings",\n "resolved_native_addon_bindings"\n ],\n "type": "object"\n }\n },\n "required": [\n "input_path",\n "format",\n "root_artifact_sha256",\n "inventory_manifest_id",\n "inventory_graph_sha256",\n "graph",\n "summary",\n "statistics",\n "integrity_contradictions",\n "limitations",\n "semantic_graph"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Analyze Javascript Application"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Reconcile verified static JavaScript application graphs with existing passive web/Electron CDP, passive V8 Inspector, or provider-owned active Electron Evidence. Active Electron captures contribute an explicitly partial target-only runtime record; they never invent renderer scripts, frames, workers, or execution claims. 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.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "runtime_observations": [\n {\n "authority": "external-service",\n "confidence": "observed",\n "environment": null,\n "evidence_id": "ev_a42606ee799a093832ad3d6cfd0edd50dc9b99f78cc6d5d9130b734d48a56b4e",\n "evidence_links": [],\n "limitations": [\n "Artifact identity is unavailable for this observation."\n ],\n "locations": [],\n "normalized_result": {\n "browser": {\n "js_version": "1",\n "product": "Electron/example",\n "protocol_version": "1.3",\n "revision": "example",\n "user_agent": "Electron example"\n },\n "capture_window": {\n "ended_at": "2026-07-15T00:00:00.100Z",\n "observation_ms": 100,\n "started_at": "2026-07-15T00:00:00.000Z"\n },\n "completeness": {\n "attach_limited_sections": [],\n "conditions": [\n "complete_within_window"\n ],\n "dropped_events": {\n "console_events": 0,\n "network_requests": 0,\n "scripts": 0,\n "timeline_events": 0,\n "total": 0,\n "webmcp_tools": 0,\n "websocket_connections": 0,\n "websocket_frames": 0\n },\n "excluded": [],\n "policy_filtered_sections": [],\n "status": "complete_within_window",\n "truncated_sections": [],\n "unavailable_sections": []\n },\n "dom": {\n "nodes": [],\n "total_nodes": 0\n },\n "frames": [],\n "limitations": [\n "Example passive capture."\n ],\n "resources": [],\n "scripts": {\n "items": [\n {\n "cdp_hash": "example",\n "file_path": "/Applications/Example.app/Contents/Resources/app/renderer.js",\n "frame_id": null,\n "is_module": true,\n "language": "JavaScript",\n "length": 29,\n "script_key": "electron_script_4444444444444444444444444444444444444444444444444444444444444444",\n "source": {\n "artifact": {\n "bytes": 29,\n "charset": "utf-8",\n "media_type": "text/javascript",\n "sha256": "c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64",\n "text": "export const example = true;\\n"\n },\n "included": true\n }\n }\n ],\n "total": 1\n },\n "target": {\n "attached": false,\n "file_path": "/Applications/Example.app/Contents/Resources/app/index.html",\n "target_id": "example-target",\n "title": "Example",\n "type": "page"\n },\n "workers": []\n },\n "operation": "inspect_electron_page",\n "parameters": {\n "cdp_endpoint": "http://127.0.0.1:9223",\n "include_script_sources": true,\n "target_id": "example-target"\n },\n "predicate_type": "rea.electron-page-inspection",\n "provider": {\n "id": "rea-cdp-electron",\n "name": "REA Electron file-page CDP observation provider",\n "version": "1"\n },\n "raw_result": null,\n "subject": null\n }\n ],\n "static_layers": [\n {\n "analysis": {\n "authority": "shipped-artifact",\n "confidence": "derived",\n "environment": null,\n "evidence_id": "ev_a4ae2c7b5c501fb6dff695b168f35a6dd157fa957410910684f3a4ce4c8b5d54",\n "evidence_links": [],\n "limitations": [],\n "locations": [],\n "normalized_result": {\n "format": "directory",\n "graph": {\n "coverage": {\n "limits": [],\n "omitted_count": 0,\n "status": "complete",\n "truncated": false\n },\n "edges": [],\n "graph_id": "jag_ab15669664efc0a86bb49c9c60241913cce6980dc2293fbeef6d9c862ca01d9d",\n "limitations": [],\n "nodes": [\n {\n "identity": {\n "sha256": "c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64",\n "stability": "global-exact",\n "strategy": "content-digest"\n },\n "kind": "javascript-asset",\n "node_id": "jag_node_3c82da5492d90eb5b0bee41c1a994d88b7ba98c0b4955270d70e57a76e224c2e",\n "observations": [\n {\n "evidence": {\n "artifact": {\n "artifact_id": "art_c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64",\n "available": true,\n "sha256": "c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64"\n },\n "authority": "artifact-bytes",\n "confidence": "exact",\n "coverage": {\n "limits": [],\n "omitted_count": 0,\n "status": "complete",\n "truncated": false\n },\n "evidence_ids": [],\n "extractor": {\n "executable_sha256": null,\n "name": "rea-javascript-application",\n "operation": "inventory-relevant-file",\n "version": "1"\n },\n "limitations": [],\n "location": {\n "available": true,\n "value": {\n "kind": "artifact-path",\n "path": "renderer.js"\n }\n },\n "state": "observed"\n },\n "identifier_strategy": {\n "stability": "observation-exact",\n "strategy": "semantic-content-sha256"\n },\n "label": "renderer.js",\n "observation_id": "jag_observation_20b4d076ce370db14ae2b477915624c62e0c4a0c9e56803a2c5cb4fa60c16230",\n "properties": {\n "bytes": 29,\n "path": "renderer.js"\n }\n }\n ]\n }\n ],\n "root_node_ids": [\n "jag_node_3c82da5492d90eb5b0bee41c1a994d88b7ba98c0b4955270d70e57a76e224c2e"\n ],\n "schema": "JavaScriptApplicationGraph"\n },\n "input_path": "/Applications/Example.app/Contents/Resources/app",\n "inventory_graph_sha256": "3333333333333333333333333333333333333333333333333333333333333333",\n "inventory_manifest_id": "agm_2222222222222222222222222222222222222222222222222222222222222222",\n "limitations": [],\n "root_artifact_sha256": "1111111111111111111111111111111111111111111111111111111111111111",\n "semantic_graph": {\n "application_graph_id": "jag_ab15669664efc0a86bb49c9c60241913cce6980dc2293fbeef6d9c862ca01d9d",\n "coverage": {\n "families": [\n {\n "family": "boundary",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "call-flow",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "child-process",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "closure",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "configuration",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "data-flow",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "event",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "object-flow",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "promise-ownership",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "request",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "resource-lifecycle",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "timer",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n }\n ],\n "limits": [],\n "omitted_nodes": 0,\n "omitted_relations": 0,\n "status": "unknown",\n "truncated": false\n },\n "fingerprints": [],\n "graph_id": "jsrg_08c925d2bf4ef56d770e0e67901d5bdfb610744cf001a50d36c9bb6dcb195508",\n "limitations": [\n "Semantic relations are unavailable in this minimal example."\n ],\n "nodes": [\n {\n "application_node_ids": [\n "jag_node_3c82da5492d90eb5b0bee41c1a994d88b7ba98c0b4955270d70e57a76e224c2e"\n ],\n "evidence": {\n "artifact": {\n "artifact_id": "art_c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64",\n "available": true,\n "sha256": "c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64"\n },\n "authority": "artifact-bytes",\n "confidence": "exact",\n "coverage": {\n "limits": [],\n "omitted_count": 0,\n "status": "complete",\n "truncated": false\n },\n "evidence_ids": [],\n "extractor": {\n "executable_sha256": null,\n "name": "rea-javascript-application",\n "operation": "inventory-relevant-file",\n "version": "1"\n },\n "limitations": [],\n "location": {\n "available": true,\n "value": {\n "kind": "artifact-path",\n "path": "renderer.js"\n }\n },\n "state": "observed"\n },\n "function_node_id": null,\n "identifier_strategy": {\n "stability": "artifact-version",\n "strategy": "semantic-content-sha256"\n },\n "identity": {\n "artifact_sha256": "1111111111111111111111111111111111111111111111111111111111111111",\n "module_path": "renderer.js",\n "role_key": "example-module",\n "source_range": null\n },\n "kind": "module",\n "label": "renderer.js",\n "node_id": "jsrg_node_9476602f1f74433a2bd3dadb040a25734d203b8f831b31a8d96f7efdfc5cd66a",\n "properties": {}\n }\n ],\n "relations": [],\n "root_artifact_sha256": "1111111111111111111111111111111111111111111111111111111111111111",\n "root_node_ids": [\n "jsrg_node_9476602f1f74433a2bd3dadb040a25734d203b8f831b31a8d96f7efdfc5cd66a"\n ],\n "schema": "JavaScriptSemanticRelationGraph",\n "unknowns": []\n },\n "statistics": {\n "findings": 0,\n "invalid_utf8_files": 0,\n "modules": 0,\n "nested_asar_containers": 0,\n "parse_failures": 0,\n "parsed_javascript_files": 1,\n "relevant_files": 1,\n "text_bytes_read": 29,\n "truncated_scopes": 0,\n "visited_ast_nodes": 1\n },\n "summary": {\n "browser_windows": 0,\n "context_bridge_apis": 0,\n "explicit_web_preferences": 0,\n "exposed_api_members": 0,\n "ipc": {\n "ambiguous_renderer_transmissions": 0,\n "dynamic_channel_operations": 0,\n "literal_channels": 0,\n "main_handlers": 0,\n "operations": 0,\n "paired_renderer_transmissions": 0,\n "renderer_listeners": 0,\n "renderer_transmissions": 0,\n "unpaired_literal_renderer_transmissions": 0\n },\n "native_addon_bindings": 0,\n "preload_entrypoints": 0,\n "resolved_native_addon_bindings": 0,\n "resolved_utility_entrypoints": 0,\n "sender_validation_observations": 0,\n "utility_processes": 0\n }\n },\n "operation": "analyze_javascript_application",\n "parameters": {},\n "predicate_type": "rea.javascript-application-analysis",\n "provider": {\n "id": "rea-javascript-application",\n "name": "REA JavaScript application analyzer",\n "version": "1"\n },\n "raw_result": null,\n "subject": {\n "architecture": null,\n "digest": {\n "sha256": "1111111111111111111111111111111111111111111111111111111111111111"\n },\n "format": "directory",\n "local_path": "/Applications/Example.app/Contents/Resources/app",\n "name": "app"\n }\n }\n }\n ]\n }\n ],\n "properties": {\n "runtime_observations": {\n "description": "Value for runtime observations.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "description": "Value for analysis profile.",\n "properties": {\n "digest": {\n "description": "Value for digest.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "description": "Value for version.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "description": "Value for authority.",\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "description": "Value for confidence.",\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "description": "Value for architecture.",\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "description": "Value for isolation.",\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "description": "Value for platform.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for environment."\n },\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "description": "Value for evidence links.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "description": "Value for locations.",\n "items": {\n "oneOf": [\n {\n "properties": {\n "address": {\n "description": "Value for address.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "artifact-path",\n "description": "Value for kind.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "file-offset",\n "description": "Value for kind.",\n "type": "string"\n },\n "offset": {\n "description": "Value for offset.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0",\n "description": "Value for normalized result."\n },\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "description": "Value for predicate type.",\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for version."\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for raw result."\n },\n "subject": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "digest": {\n "description": "Value for digest.",\n "properties": {\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "description": "Declared input artifact format.",\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "description": "Local filesystem path for local.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for subject."\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "static_layers": {\n "description": "Value for static layers.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "analysis": {\n "additionalProperties": false,\n "description": "Value for analysis.",\n "properties": {\n "analysis_profile": {\n "description": "Value for analysis profile.",\n "properties": {\n "digest": {\n "description": "Value for digest.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "description": "Value for version.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "description": "Value for authority.",\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "description": "Value for confidence.",\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "description": "Value for architecture.",\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "description": "Value for isolation.",\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "description": "Value for platform.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for environment."\n },\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "description": "Value for evidence links.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "description": "Value for locations.",\n "items": {\n "oneOf": [\n {\n "properties": {\n "address": {\n "description": "Value for address.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "artifact-path",\n "description": "Value for kind.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "file-offset",\n "description": "Value for kind.",\n "type": "string"\n },\n "offset": {\n "description": "Value for offset.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0",\n "description": "Value for normalized result."\n },\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "description": "Value for predicate type.",\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for version."\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for raw result."\n },\n "subject": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "digest": {\n "description": "Value for digest.",\n "properties": {\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "description": "Declared input artifact format.",\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "description": "Local filesystem path for local.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for subject."\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "role": {\n "default": "application",\n "description": "Value for role.",\n "enum": [\n "application",\n "cache",\n "assets"\n ],\n "type": "string"\n },\n "runtime_mappings": {\n "default": [],\n "description": "Value for runtime mappings.",\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "artifact_prefix": {\n "default": "",\n "description": "Value for artifact prefix.",\n "type": "string"\n },\n "kind": {\n "const": "file-root",\n "description": "Value for kind.",\n "type": "string"\n },\n "root": {\n "description": "Value for root.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "root"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "artifact_prefix": {\n "default": "",\n "description": "Value for artifact prefix.",\n "type": "string"\n },\n "kind": {\n "const": "url-prefix",\n "description": "Value for kind.",\n "type": "string"\n },\n "prefix": {\n "description": "Value for prefix.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "prefix"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n }\n },\n "required": [\n "analysis"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "static_layers",\n "runtime_observations"\n ],\n "type": "object"\n },\n "kind": "electron-provider",\n "name": "reconcile_javascript_runtime",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "coverage": {\n "additionalProperties": false,\n "properties": {\n "omitted_graph_items": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "omitted_reconciliation_items": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "omitted_runtime_entities": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "omitted_static_load_states": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "status": {\n "enum": [\n "complete-within-inputs",\n "partial",\n "truncated"\n ],\n "type": "string"\n },\n "truncated": {\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_runtime_entities",\n "omitted_reconciliation_items",\n "omitted_static_load_states",\n "omitted_graph_items"\n ],\n "type": "object"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 2,\n "type": "array"\n },\n "graph": {\n "additionalProperties": false,\n "properties": {\n "coverage": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "const": 0,\n "type": "number"\n },\n "status": {\n "const": "complete",\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "partial",\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "omitted_count": {\n "anyOf": [\n {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "partial",\n "type": "string"\n },\n "truncated": {\n "const": true,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "type": "null"\n },\n "status": {\n "enum": [\n "unknown",\n "unavailable"\n ],\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n }\n ]\n },\n "edges": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "edge_id": {\n "pattern": "^jag_edge_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "artifact": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "artifact_id": {\n "pattern": "^art_[a-f0-9]{64}$",\n "type": "string"\n },\n "available": {\n "const": true,\n "type": "boolean"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "available",\n "artifact_id",\n "sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "enum": [\n "not-applicable",\n "not-observed",\n "truncated",\n "provider-unavailable",\n "unresolved",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason",\n "detail"\n ],\n "type": "object"\n }\n ]\n },\n "authority": {\n "enum": [\n "artifact-bytes",\n "ast-static-analysis",\n "static-relationship-inference",\n "passive-cdp-runtime",\n "cross-layer-reconciliation",\n "cross-version-comparison",\n "controlled-replay",\n "native-analysis-provider",\n "managed-static-analysis",\n "historical-reference",\n "user-assertion",\n "unknown"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "exact",\n "high",\n "medium",\n "low",\n "unknown"\n ],\n "type": "string"\n },\n "coverage": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "const": 0,\n "type": "number"\n },\n "status": {\n "const": "complete",\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "partial",\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "omitted_count": {\n "anyOf": [\n {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "partial",\n "type": "string"\n },\n "truncated": {\n "const": true,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "type": "null"\n },\n "status": {\n "enum": [\n "unknown",\n "unavailable"\n ],\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n }\n ]\n },\n "evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "extractor": {\n "additionalProperties": false,\n "properties": {\n "executable_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "version",\n "operation",\n "executable_sha256"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "location": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "value": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "line",\n "column"\n ],\n "type": "object"\n },\n "kind": {\n "const": "source-range",\n "type": "string"\n },\n "source": {\n "minLength": 1,\n "type": "string"\n },\n "start": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "line",\n "column"\n ],\n "type": "object"\n }\n },\n "required": [\n "kind",\n "source",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "url",\n "type": "string"\n },\n "url": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "url"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "capture_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "frame_key": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "kind": {\n "const": "runtime",\n "type": "string"\n },\n "script_key": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "target_key": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "capture_sha256",\n "target_key",\n "frame_key",\n "script_key"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "native-address",\n "type": "string"\n },\n "symbol": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "kind",\n "address",\n "symbol"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "export_path": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "package-export",\n "type": "string"\n },\n "package_name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "package_name",\n "export_path"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "available",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "enum": [\n "not-applicable",\n "not-observed",\n "truncated",\n "provider-unavailable",\n "unresolved",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason",\n "detail"\n ],\n "type": "object"\n }\n ]\n },\n "state": {\n "enum": [\n "observed",\n "inferred",\n "unknown",\n "unavailable"\n ],\n "type": "string"\n }\n },\n "required": [\n "authority",\n "state",\n "confidence",\n "artifact",\n "location",\n "extractor",\n "coverage",\n "limitations",\n "evidence_ids"\n ],\n "type": "object"\n },\n "identifier_strategy": {\n "additionalProperties": false,\n "properties": {\n "stability": {\n "const": "relationship-exact",\n "type": "string"\n },\n "strategy": {\n "const": "semantic-content-sha256",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability"\n ],\n "type": "object"\n },\n "properties": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "minLength": 1,\n "type": "string"\n },\n "type": "object"\n },\n "relation": {\n "enum": [\n "contains",\n "loads",\n "imports",\n "maps_to",\n "exposes",\n "sends",\n "invokes",\n "handles",\n "calls",\n "persists_to",\n "observed_as",\n "changed_from"\n ],\n "type": "string"\n },\n "source_node_id": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "target_node_id": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "source_node_id",\n "target_node_id",\n "relation",\n "properties",\n "evidence",\n "edge_id",\n "identifier_strategy"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "graph_id": {\n "pattern": "^jag_[a-f0-9]{64}$",\n "type": "string"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "nodes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "identity": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "stability": {\n "const": "global-exact",\n "type": "string"\n },\n "strategy": {\n "const": "content-digest",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability",\n "sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "original_source": {\n "type": "string"\n },\n "source_map_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "source_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "stability": {\n "const": "source-map-exact",\n "type": "string"\n },\n "strategy": {\n "const": "source-map-original",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability",\n "source_map_sha256",\n "original_source",\n "source_sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "artifact_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n },\n "stability": {\n "const": "artifact-version",\n "type": "string"\n },\n "strategy": {\n "const": "canonical-path",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability",\n "artifact_sha256",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "algorithm": {\n "minLength": 1,\n "type": "string"\n },\n "basis": {\n "items": {\n "enum": [\n "syntax-tree",\n "control-flow",\n "imports",\n "exports",\n "literals",\n "api-usage"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "fingerprint_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "stability": {\n "const": "cross-version-inference",\n "type": "string"\n },\n "strategy": {\n "const": "structural-fingerprint",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability",\n "algorithm",\n "fingerprint_sha256",\n "basis"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "artifact_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "key": {\n "type": "string"\n },\n "namespace": {\n "minLength": 1,\n "type": "string"\n },\n "stability": {\n "const": "artifact-version",\n "type": "string"\n },\n "strategy": {\n "const": "artifact-local-key",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability",\n "artifact_sha256",\n "namespace",\n "key"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "capture_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "runtime_key": {\n "minLength": 1,\n "type": "string"\n },\n "stability": {\n "const": "capture-only",\n "type": "string"\n },\n "strategy": {\n "const": "runtime-instance",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability",\n "capture_sha256",\n "runtime_key"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "observation_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "scope": {\n "minLength": 1,\n "type": "string"\n },\n "stability": {\n "const": "observation-only",\n "type": "string"\n },\n "strategy": {\n "const": "observation-fingerprint",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability",\n "observation_sha256",\n "scope"\n ],\n "type": "object"\n }\n ]\n },\n "kind": {\n "enum": [\n "package",\n "installer",\n "artifact",\n "asar-entry",\n "electron-main",\n "electron-preload",\n "electron-renderer",\n "electron-utility",\n "javascript-asset",\n "javascript-chunk",\n "javascript-module",\n "source-map",\n "source-module",\n "browser-window",\n "frame",\n "target",\n "context-bridge-api",\n "ipc-channel",\n "ipc-handler",\n "worker",\n "service-worker",\n "endpoint",\n "storage",\n "native-addon",\n "native-export",\n "managed-assembly",\n "managed-module",\n "managed-type",\n "managed-method",\n "managed-field",\n "managed-pinvoke-import",\n "managed-native-implementation",\n "runtime-script-instance",\n "unknown"\n ],\n "type": "string"\n },\n "node_id": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "observations": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "artifact": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "artifact_id": {\n "pattern": "^art_[a-f0-9]{64}$",\n "type": "string"\n },\n "available": {\n "const": true,\n "type": "boolean"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "available",\n "artifact_id",\n "sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "enum": [\n "not-applicable",\n "not-observed",\n "truncated",\n "provider-unavailable",\n "unresolved",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason",\n "detail"\n ],\n "type": "object"\n }\n ]\n },\n "authority": {\n "enum": [\n "artifact-bytes",\n "ast-static-analysis",\n "static-relationship-inference",\n "passive-cdp-runtime",\n "cross-layer-reconciliation",\n "cross-version-comparison",\n "controlled-replay",\n "native-analysis-provider",\n "managed-static-analysis",\n "historical-reference",\n "user-assertion",\n "unknown"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "exact",\n "high",\n "medium",\n "low",\n "unknown"\n ],\n "type": "string"\n },\n "coverage": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "const": 0,\n "type": "number"\n },\n "status": {\n "const": "complete",\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "partial",\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "omitted_count": {\n "anyOf": [\n {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "partial",\n "type": "string"\n },\n "truncated": {\n "const": true,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "type": "null"\n },\n "status": {\n "enum": [\n "unknown",\n "unavailable"\n ],\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n }\n ]\n },\n "evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "extractor": {\n "additionalProperties": false,\n "properties": {\n "executable_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "version",\n "operation",\n "executable_sha256"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "location": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "value": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "line",\n "column"\n ],\n "type": "object"\n },\n "kind": {\n "const": "source-range",\n "type": "string"\n },\n "source": {\n "minLength": 1,\n "type": "string"\n },\n "start": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "line",\n "column"\n ],\n "type": "object"\n }\n },\n "required": [\n "kind",\n "source",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "url",\n "type": "string"\n },\n "url": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "url"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "capture_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "frame_key": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "kind": {\n "const": "runtime",\n "type": "string"\n },\n "script_key": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "target_key": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "capture_sha256",\n "target_key",\n "frame_key",\n "script_key"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "native-address",\n "type": "string"\n },\n "symbol": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "kind",\n "address",\n "symbol"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "export_path": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "package-export",\n "type": "string"\n },\n "package_name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "package_name",\n "export_path"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "available",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "enum": [\n "not-applicable",\n "not-observed",\n "truncated",\n "provider-unavailable",\n "unresolved",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason",\n "detail"\n ],\n "type": "object"\n }\n ]\n },\n "state": {\n "enum": [\n "observed",\n "inferred",\n "unknown",\n "unavailable"\n ],\n "type": "string"\n }\n },\n "required": [\n "authority",\n "state",\n "confidence",\n "artifact",\n "location",\n "extractor",\n "coverage",\n "limitations",\n "evidence_ids"\n ],\n "type": "object"\n },\n "identifier_strategy": {\n "additionalProperties": false,\n "properties": {\n "stability": {\n "const": "observation-exact",\n "type": "string"\n },\n "strategy": {\n "const": "semantic-content-sha256",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability"\n ],\n "type": "object"\n },\n "label": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "observation_id": {\n "pattern": "^jag_observation_[a-f0-9]{64}$",\n "type": "string"\n },\n "properties": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "minLength": 1,\n "type": "string"\n },\n "type": "object"\n }\n },\n "required": [\n "label",\n "properties",\n "evidence",\n "observation_id",\n "identifier_strategy"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "node_id",\n "kind",\n "identity",\n "observations"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "root_node_ids": {\n "items": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "schema": {\n "const": "JavaScriptApplicationGraph",\n "type": "string"\n }\n },\n "required": [\n "schema",\n "root_node_ids",\n "nodes",\n "edges",\n "coverage",\n "limitations",\n "graph_id"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "reconciliation_id": {\n "pattern": "^jrr_[a-f0-9]{64}$",\n "type": "string"\n },\n "reconciliations": {\n "items": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "basis": {\n "enum": [\n "content-and-location",\n "content-sha256",\n "module-source-sha256",\n "artifact-path",\n "operator-file-mapping",\n "operator-url-mapping",\n "none"\n ],\n "type": "string"\n },\n "candidate_static_count": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "candidate_static_nodes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "static_layer_id": {\n "pattern": "^jrl_[a-f0-9]{64}$",\n "type": "string"\n },\n "static_node_id": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "static_layer_id",\n "static_node_id"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "confidence": {\n "enum": [\n "exact",\n "high",\n "medium",\n "low",\n "unknown"\n ],\n "type": "string"\n },\n "entity_kind": {\n "enum": [\n "target",\n "frame",\n "script",\n "worker"\n ],\n "type": "string"\n },\n "reason": {\n "enum": [\n "content-and-location-match",\n "unique-content-match",\n "unique-location-match",\n "ambiguous-static-candidates",\n "captured-content-disagrees-with-static-location",\n "no-static-content-match",\n "no-authorized-location-mapping",\n "runtime-location-unresolved",\n "runtime-frame-unattributed",\n "static-or-runtime-coverage-incomplete",\n "reconciliation-limit-reached"\n ],\n "type": "string"\n },\n "reconciliation_id": {\n "pattern": "^jrr_item_[a-f0-9]{64}$",\n "type": "string"\n },\n "runtime_evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "runtime_node_id": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "static_layer_id": {\n "pattern": "^jrl_[a-f0-9]{64}$",\n "type": "string"\n },\n "static_node_id": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "status": {\n "const": "matched",\n "type": "string"\n }\n },\n "required": [\n "reconciliation_id",\n "entity_kind",\n "runtime_evidence_id",\n "runtime_node_id",\n "basis",\n "confidence",\n "reason",\n "candidate_static_count",\n "candidate_static_nodes",\n "static_layer_id",\n "static_node_id",\n "status"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "basis": {\n "enum": [\n "content-and-location",\n "content-sha256",\n "module-source-sha256",\n "artifact-path",\n "operator-file-mapping",\n "operator-url-mapping",\n "none"\n ],\n "type": "string"\n },\n "candidate_static_count": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "candidate_static_nodes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "static_layer_id": {\n "pattern": "^jrl_[a-f0-9]{64}$",\n "type": "string"\n },\n "static_node_id": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "static_layer_id",\n "static_node_id"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "confidence": {\n "enum": [\n "exact",\n "high",\n "medium",\n "low",\n "unknown"\n ],\n "type": "string"\n },\n "entity_kind": {\n "enum": [\n "target",\n "frame",\n "script",\n "worker"\n ],\n "type": "string"\n },\n "reason": {\n "enum": [\n "content-and-location-match",\n "unique-content-match",\n "unique-location-match",\n "ambiguous-static-candidates",\n "captured-content-disagrees-with-static-location",\n "no-static-content-match",\n "no-authorized-location-mapping",\n "runtime-location-unresolved",\n "runtime-frame-unattributed",\n "static-or-runtime-coverage-incomplete",\n "reconciliation-limit-reached"\n ],\n "type": "string"\n },\n "reconciliation_id": {\n "pattern": "^jrr_item_[a-f0-9]{64}$",\n "type": "string"\n },\n "runtime_evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "runtime_node_id": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "static_layer_id": {\n "type": "null"\n },\n "static_node_id": {\n "type": "null"\n },\n "status": {\n "enum": [\n "ambiguous",\n "unmatched",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "reconciliation_id",\n "entity_kind",\n "runtime_evidence_id",\n "runtime_node_id",\n "basis",\n "confidence",\n "reason",\n "candidate_static_count",\n "candidate_static_nodes",\n "static_layer_id",\n "static_node_id",\n "status"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "runtime_captures": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "capture_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "frames": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "enum": [\n "browser",\n "electron",\n "v8-inspector",\n "electron-active"\n ],\n "type": "string"\n },\n "scripts": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "scripts_complete_within_scope": {\n "type": "boolean"\n },\n "target_key": {\n "minLength": 1,\n "type": "string"\n },\n "target_location": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "unresolved",\n "type": "string"\n },\n "reason": {\n "const": "unverifiable-file-location",\n "type": "string"\n },\n "reported_url": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "reported_url",\n "reason"\n ],\n "type": "object"\n }\n ]\n },\n "target_node_id": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "workers": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "evidence_id",\n "capture_sha256",\n "kind",\n "target_node_id",\n "target_key",\n "target_location",\n "frames",\n "scripts",\n "workers",\n "scripts_complete_within_scope"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "source_map_authority": {\n "additionalProperties": false,\n "properties": {\n "limitation": {\n "minLength": 1,\n "type": "string"\n },\n "runtime_script_declarations": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "static_layer_count": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "used_for_primary_matching": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "used_for_primary_matching",\n "static_layer_count",\n "runtime_script_declarations",\n "limitation"\n ],\n "type": "object"\n },\n "static_layers": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "format": {\n "enum": [\n "asar",\n "directory"\n ],\n "type": "string"\n },\n "graph_id": {\n "pattern": "^jag_[a-f0-9]{64}$",\n "type": "string"\n },\n "input_path": {\n "minLength": 1,\n "type": "string"\n },\n "layer_id": {\n "pattern": "^jrl_[a-f0-9]{64}$",\n "type": "string"\n },\n "role": {\n "enum": [\n "application",\n "cache",\n "assets"\n ],\n "type": "string"\n },\n "root_artifact_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "runtime_mappings": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "artifact_prefix": {\n "default": "",\n "type": "string"\n },\n "kind": {\n "const": "file-root",\n "type": "string"\n },\n "root": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "root",\n "artifact_prefix"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "artifact_prefix": {\n "default": "",\n "type": "string"\n },\n "kind": {\n "const": "url-prefix",\n "type": "string"\n },\n "prefix": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "prefix",\n "artifact_prefix"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n }\n },\n "required": [\n "layer_id",\n "role",\n "evidence_id",\n "graph_id",\n "root_artifact_sha256",\n "input_path",\n "format",\n "runtime_mappings"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "static_load_states": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "enum": [\n "javascript-asset",\n "javascript-chunk",\n "javascript-module"\n ],\n "type": "string"\n },\n "reason": {\n "enum": [\n "runtime-script-correspondence",\n "containing-asset-was-loaded",\n "not-observed-in-bounded-capture",\n "layer-outside-runtime-scope",\n "static-or-runtime-coverage-incomplete"\n ],\n "type": "string"\n },\n "runtime_node_ids": {\n "items": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "static_layer_id": {\n "pattern": "^jrl_[a-f0-9]{64}$",\n "type": "string"\n },\n "static_node_id": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "status": {\n "enum": [\n "loaded",\n "resident-in-loaded-asset",\n "not-observed-in-capture",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "static_layer_id",\n "static_node_id",\n "kind",\n "status",\n "runtime_node_ids",\n "reason"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "summary": {\n "additionalProperties": false,\n "properties": {\n "ambiguous": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "matched": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "runtime_frames": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "runtime_scripts": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "runtime_targets": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "runtime_workers": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "static_loaded": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "static_not_observed": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "static_resident": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "static_unknown": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "unknown": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "unmatched": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "runtime_targets",\n "runtime_frames",\n "runtime_scripts",\n "runtime_workers",\n "matched",\n "ambiguous",\n "unmatched",\n "unknown",\n "static_loaded",\n "static_resident",\n "static_not_observed",\n "static_unknown"\n ],\n "type": "object"\n }\n },\n "required": [\n "reconciliation_id",\n "static_layers",\n "runtime_captures",\n "graph",\n "summary",\n "reconciliations",\n "static_load_states",\n "source_map_authority",\n "coverage",\n "evidence_links",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Reconcile Javascript Runtime"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": true,\n "idempotentHint": false,\n "openWorldHint": true,\n "readOnlyHint": false\n },\n "description": "Use this for a provider-owned Electron run when passive CDP or Inspector observation cannot exercise application behavior. REA owns startup and teardown, accepts caller-defined click/wait actions plus window-targeted renderer reload/crash and synthetic open-url/second-instance delivery, and returns correlated window/WebContents/process/preload/session/navigation/shell/IPC evidence without retaining payload values. Results identify observed and unavailable event families, coverage status, action targets, and truncation. External shell, navigation, permission, download, popup, updater, and OS-integration effects are blocked and recorded. Use passive Electron tools for observation-only work.",\n "effects": {\n "accessesNetwork": true,\n "changesUiState": true,\n "idempotent": false,\n "launchesProcess": true,\n "mayDiscardData": true,\n "mutatesSession": true,\n "mutatesTarget": true,\n "writesFilesystem": true\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "actions": [\n {\n "kind": "click",\n "selector": "#run",\n "step_id": "exercise-ipc"\n }\n ],\n "application_path": "/Applications/Example.app/Contents/Resources/main.js",\n "args": [],\n "executable_path": "/Applications/Electron.app/Contents/MacOS/Electron"\n }\n ],\n "properties": {\n "actions": {\n "default": [],\n "description": "Value for actions.",\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "click",\n "description": "Value for kind.",\n "type": "string"\n },\n "selector": {\n "description": "Value for selector.",\n "minLength": 1,\n "type": "string"\n },\n "step_id": {\n "description": "Value for step id.",\n "minLength": 1,\n "type": "string"\n },\n "window_index": {\n "default": 0,\n "description": "Value for window index.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "step_id",\n "kind",\n "selector"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "duration_ms": {\n "description": "Value for duration ms.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "wait",\n "description": "Value for kind.",\n "type": "string"\n },\n "step_id": {\n "description": "Value for step id.",\n "minLength": 1,\n "type": "string"\n },\n "window_index": {\n "description": "Value for window index.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "step_id",\n "kind",\n "duration_ms"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "renderer-reload",\n "description": "Value for kind.",\n "type": "string"\n },\n "step_id": {\n "description": "Value for step id.",\n "minLength": 1,\n "type": "string"\n },\n "window_index": {\n "default": 0,\n "description": "Value for window index.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "step_id",\n "kind"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "renderer-crash",\n "description": "Value for kind.",\n "type": "string"\n },\n "step_id": {\n "description": "Value for step id.",\n "minLength": 1,\n "type": "string"\n },\n "window_index": {\n "default": 0,\n "description": "Value for window index.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "step_id",\n "kind"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "delivery": {\n "description": "Value for delivery.",\n "enum": [\n "open-url",\n "second-instance"\n ],\n "type": "string"\n },\n "kind": {\n "const": "deep-link",\n "description": "Value for kind.",\n "type": "string"\n },\n "step_id": {\n "description": "Value for step id.",\n "minLength": 1,\n "type": "string"\n },\n "url": {\n "description": "Value for url.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "step_id",\n "kind",\n "delivery",\n "url"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "application_path": {\n "description": "Local filesystem path for application.",\n "minLength": 1,\n "type": "string"\n },\n "application_root": {\n "description": "Local filesystem application root selected for this operation.",\n "minLength": 1,\n "type": "string"\n },\n "args": {\n "default": [],\n "description": "Value for args.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "executable_path": {\n "description": "Local filesystem path for executable.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "executable_path",\n "application_path"\n ],\n "type": "object"\n },\n "kind": "electron-provider",\n "name": "capture_electron_scenario",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "actions": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "elapsed_ms": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "error": {\n "type": "null"\n },\n "kind": {\n "enum": [\n "click",\n "wait",\n "renderer-reload",\n "renderer-crash",\n "deep-link"\n ],\n "type": "string"\n },\n "status": {\n "const": "completed",\n "type": "string"\n },\n "step_id": {\n "minLength": 1,\n "type": "string"\n },\n "target": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "window_index": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "step_id",\n "kind",\n "window_index",\n "target",\n "elapsed_ms",\n "status",\n "error"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "elapsed_ms": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "error": {\n "type": "string"\n },\n "kind": {\n "enum": [\n "click",\n "wait",\n "renderer-reload",\n "renderer-crash",\n "deep-link"\n ],\n "type": "string"\n },\n "status": {\n "enum": [\n "failed",\n "cancelled"\n ],\n "type": "string"\n },\n "step_id": {\n "minLength": 1,\n "type": "string"\n },\n "target": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "window_index": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "step_id",\n "kind",\n "window_index",\n "target",\n "elapsed_ms",\n "status",\n "error"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "application": {\n "additionalProperties": false,\n "properties": {\n "application_path": {\n "minLength": 1,\n "type": "string"\n },\n "cleanup": {\n "const": "terminated-owned-process",\n "type": "string"\n },\n "electron_version": {\n "minLength": 1,\n "type": "string"\n },\n "executable_path": {\n "minLength": 1,\n "type": "string"\n },\n "process_ownership": {\n "const": "provider-owned",\n "type": "string"\n }\n },\n "required": [\n "executable_path",\n "application_path",\n "electron_version",\n "process_ownership",\n "cleanup"\n ],\n "type": "object"\n },\n "coverage": {\n "additionalProperties": false,\n "default": {\n "observed_event_families": [],\n "observed_roles": [],\n "pre_capture_activity": "unavailable",\n "status": "partial_attach",\n "unavailable_event_families": []\n },\n "properties": {\n "observed_event_families": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "observed_roles": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "pre_capture_activity": {\n "const": "unavailable",\n "type": "string"\n },\n "status": {\n "enum": [\n "complete",\n "partial_attach",\n "hook_conflict",\n "target_exited",\n "cleanup_failed"\n ],\n "type": "string"\n },\n "unavailable_event_families": {\n "items": {\n "type": "string"\n },\n "type": "array"\n }\n },\n "required": [\n "status",\n "observed_event_families",\n "unavailable_event_families",\n "observed_roles",\n "pre_capture_activity"\n ],\n "type": "object"\n },\n "ipc": {\n "additionalProperties": false,\n "properties": {\n "events": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "argument_shapes": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "artifact_path": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "artifact_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "capture_method": {\n "default": "api-wrapper",\n "enum": [\n "api-wrapper",\n "event-emitter",\n "process-hook"\n ],\n "type": "string"\n },\n "channel": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "correlation_id": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "direction": {\n "anyOf": [\n {\n "enum": [\n "renderer-to-main",\n "main-to-renderer",\n "main-to-utility",\n "utility-to-main"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "error": {\n "type": "boolean"\n },\n "event": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "frame": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "kind": {\n "enum": [\n "main-handler-invocation",\n "main-event-invocation",\n "utility-process-fork",\n "utility-process-message",\n "ipc-main-to-renderer",\n "ipc-utility-to-main",\n "ipc-renderer-send",\n "ipc-renderer-invoke",\n "ipc-renderer-post-message"\n ],\n "type": "string"\n },\n "phase": {\n "anyOf": [\n {\n "enum": [\n "attempted",\n "completed",\n "blocked",\n "failed",\n "observed"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "process_type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "receiver": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "result_shape": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "sender": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "sequence": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "source": {\n "default": "electron-active-hook",\n "type": "string"\n },\n "target": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "sequence",\n "correlation_id",\n "kind",\n "channel",\n "frame",\n "argument_shapes",\n "result_shape",\n "process_type",\n "source",\n "capture_method",\n "artifact_path",\n "artifact_sha256",\n "error"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "observed": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "events",\n "observed"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "processes": {\n "additionalProperties": false,\n "properties": {\n "items": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "pid": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "service_name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "type": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "pid",\n "type",\n "name",\n "service_name"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "items"\n ],\n "type": "object"\n },\n "timeline": {\n "additionalProperties": false,\n "default": {\n "events": [],\n "observed": 0\n },\n "properties": {\n "events": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "argument_shapes": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "artifact_path": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "artifact_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "capture_method": {\n "enum": [\n "api-wrapper",\n "event-emitter",\n "process-hook"\n ],\n "type": "string"\n },\n "channel": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "correlation_id": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "direction": {\n "anyOf": [\n {\n "enum": [\n "renderer-to-main",\n "main-to-renderer",\n "main-to-utility",\n "utility-to-main"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "error": {\n "type": "boolean"\n },\n "event": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "frame": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "kind": {\n "enum": [\n "main-handler-invocation",\n "main-event-invocation",\n "utility-process-fork",\n "utility-process-message",\n "ipc-main-to-renderer",\n "ipc-utility-to-main",\n "ipc-renderer-send",\n "ipc-renderer-invoke",\n "ipc-renderer-post-message",\n "app-lifecycle",\n "window-lifecycle",\n "web-contents-lifecycle",\n "navigation",\n "shell-attempt",\n "process-lifecycle",\n "permission",\n "popup-attempt",\n "download",\n "protocol",\n "preload",\n "native-addon",\n "updater",\n "error"\n ],\n "type": "string"\n },\n "phase": {\n "enum": [\n "attempted",\n "completed",\n "blocked",\n "failed",\n "observed"\n ],\n "type": "string"\n },\n "process_type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "receiver": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "result_shape": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "sender": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "sequence": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "source": {\n "type": "string"\n },\n "target": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "sequence",\n "correlation_id",\n "kind",\n "event",\n "phase",\n "channel",\n "direction",\n "sender",\n "receiver",\n "frame",\n "target",\n "argument_shapes",\n "result_shape",\n "process_type",\n "source",\n "capture_method",\n "artifact_path",\n "artifact_sha256",\n "error"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "observed": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "events",\n "observed"\n ],\n "type": "object"\n },\n "windows": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "destroyed": {\n "type": "boolean"\n },\n "title": {\n "type": "string"\n },\n "url": {\n "type": "string"\n },\n "visible": {\n "anyOf": [\n {\n "type": "boolean"\n },\n {\n "type": "null"\n }\n ]\n },\n "web_contents_id": {\n "type": "string"\n },\n "window_id": {\n "type": "string"\n }\n },\n "required": [\n "window_id",\n "web_contents_id",\n "url",\n "title",\n "visible",\n "destroyed"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "application",\n "actions",\n "windows",\n "processes",\n "ipc",\n "timeline",\n "coverage",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Capture Electron Scenario"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": true,\n "readOnlyHint": false\n },\n "description": "List every eligible Node/Electron V8 Inspector target from an explicit literal-loopback endpoint. Node discovery file locations that cannot be verified are preserved as unresolved reported URLs; they do not prove filesystem identity. Listing does not attach to targets.",\n "effects": {\n "accessesNetwork": true,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "inspector_endpoint": "http://127.0.0.1:9229"\n }\n ],\n "properties": {\n "inspector_endpoint": {\n "description": "Value for inspector endpoint.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "inspector_endpoint"\n ],\n "type": "object"\n },\n "kind": "runtime-provider",\n "name": "list_javascript_runtime_targets",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "excluded": {\n "additionalProperties": false,\n "properties": {\n "unconnectable": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "unsupported_location": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "unsupported_location",\n "unconnectable"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "runtime": {\n "additionalProperties": false,\n "properties": {\n "product": {\n "minLength": 1,\n "type": "string"\n },\n "protocol_version": {\n "minLength": 1,\n "type": "string"\n },\n "v8_version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "product",\n "protocol_version",\n "v8_version"\n ],\n "type": "object"\n },\n "targets": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "attached": {\n "type": "boolean"\n },\n "location": {\n "anyOf": [\n {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "authority": {\n "const": "scope-fallback",\n "type": "string"\n },\n "file_path": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "file",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "file_path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "url",\n "type": "string"\n },\n "origin": {\n "minLength": 1,\n "type": "string"\n },\n "sanitized_url": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "origin",\n "sanitized_url"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "builtin",\n "type": "string"\n },\n "specifier": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "specifier"\n ],\n "type": "object"\n }\n ]\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "unresolved",\n "type": "string"\n },\n "reason": {\n "const": "unverifiable-file-location",\n "type": "string"\n },\n "reported_url": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "reported_url",\n "reason"\n ],\n "type": "object"\n }\n ]\n },\n "protocol_type": {\n "minLength": 1,\n "type": "string"\n },\n "target_id": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "target_id",\n "protocol_type",\n "attached",\n "location"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "runtime",\n "targets",\n "excluded",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "List Javascript Runtime Targets"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": true,\n "readOnlyHint": false\n },\n "description": "Attach passively to one Node/Electron V8 Inspector target by supplying its loopback Inspector endpoint and target ID. The provider rechecks target presence and attachability; a Node discovery file location may remain unresolved. Loaded script locations are validated independently from Debugger.scriptParsed. Captures script and Runtime execution-context metadata. REA never evaluates, pauses, resumes, reads source, or instruments the target; require/import edges, EventEmitter activity, and Electron IPC remain explicit unknowns. Reconcile the result with static Application Graph Evidence using reconcile_javascript_runtime. The selected endpoint exposes every target it serves to this tool.",\n "effects": {\n "accessesNetwork": true,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "inspector_endpoint": "http://127.0.0.1:9229",\n "target_id": "TARGET_ID_FROM_LIST_JAVASCRIPT_RUNTIME_TARGETS"\n }\n ],\n "properties": {\n "inspector_endpoint": {\n "description": "Value for inspector endpoint.",\n "minLength": 1,\n "type": "string"\n },\n "observation_ms": {\n "default": 100,\n "description": "Value for observation ms.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "runtime_kind": {\n "description": "Value for runtime kind.",\n "enum": [\n "node",\n "electron-main",\n "electron-preload",\n "electron-renderer"\n ],\n "type": "string"\n },\n "target_id": {\n "description": "Exact CDP target identifier selected from the endpoint\'s target listing.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "inspector_endpoint",\n "target_id"\n ],\n "type": "object"\n },\n "kind": "runtime-provider",\n "name": "observe_javascript_runtime",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "capture": {\n "additionalProperties": false,\n "properties": {\n "events_dropped": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "events_observed": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "events_retained": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "metadata_bytes_retained": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "observation_ms": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "truncated": {\n "type": "boolean"\n },\n "truncation_reasons": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n }\n },\n "required": [\n "observation_ms",\n "events_observed",\n "events_retained",\n "events_dropped",\n "metadata_bytes_retained",\n "truncated",\n "truncation_reasons"\n ],\n "type": "object"\n },\n "directly_observed": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "execution_contexts": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "context_key": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "origin": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "state": {\n "enum": [\n "created",\n "destroyed",\n "cleared"\n ],\n "type": "string"\n }\n },\n "required": [\n "context_key",\n "state",\n "name",\n "origin"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "runtime": {\n "additionalProperties": false,\n "properties": {\n "product": {\n "minLength": 1,\n "type": "string"\n },\n "protocol_version": {\n "minLength": 1,\n "type": "string"\n },\n "v8_version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "product",\n "protocol_version",\n "v8_version"\n ],\n "type": "object"\n },\n "scripts": {\n "additionalProperties": false,\n "properties": {\n "excluded": {\n "additionalProperties": false,\n "properties": {\n "invalid_protocol_value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "unsupported_location": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "unsupported_location",\n "invalid_protocol_value"\n ],\n "type": "object"\n },\n "items": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "cdp_hash": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "execution_context_key": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "is_module": {\n "type": "boolean"\n },\n "length": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "location": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "authority": {\n "const": "scope-fallback",\n "type": "string"\n },\n "file_path": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "file",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "file_path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "url",\n "type": "string"\n },\n "origin": {\n "minLength": 1,\n "type": "string"\n },\n "sanitized_url": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "origin",\n "sanitized_url"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "builtin",\n "type": "string"\n },\n "specifier": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "specifier"\n ],\n "type": "object"\n }\n ]\n },\n "script_key": {\n "pattern": "^v8_script_[a-f0-9]{64}$",\n "type": "string"\n },\n "status": {\n "const": "observed-loaded",\n "type": "string"\n }\n },\n "required": [\n "script_key",\n "location",\n "execution_context_key",\n "cdp_hash",\n "length",\n "is_module",\n "status"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "observed_total": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "items",\n "observed_total",\n "excluded"\n ],\n "type": "object"\n },\n "target": {\n "additionalProperties": false,\n "properties": {\n "attached": {\n "type": "boolean"\n },\n "location": {\n "anyOf": [\n {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "authority": {\n "const": "scope-fallback",\n "type": "string"\n },\n "file_path": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "file",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "file_path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "url",\n "type": "string"\n },\n "origin": {\n "minLength": 1,\n "type": "string"\n },\n "sanitized_url": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "origin",\n "sanitized_url"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "builtin",\n "type": "string"\n },\n "specifier": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "specifier"\n ],\n "type": "object"\n }\n ]\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "unresolved",\n "type": "string"\n },\n "reason": {\n "const": "unverifiable-file-location",\n "type": "string"\n },\n "reported_url": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "reported_url",\n "reason"\n ],\n "type": "object"\n }\n ]\n },\n "protocol_type": {\n "minLength": 1,\n "type": "string"\n },\n "runtime_kind": {\n "anyOf": [\n {\n "enum": [\n "node",\n "electron-main",\n "electron-preload",\n "electron-renderer"\n ],\n "type": "string"\n },\n {\n "const": "unknown",\n "type": "string"\n }\n ]\n },\n "runtime_kind_authority": {\n "enum": [\n "caller-declared-unverified",\n "not-declared"\n ],\n "type": "string"\n },\n "target_id": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "target_id",\n "protocol_type",\n "attached",\n "location",\n "runtime_kind",\n "runtime_kind_authority"\n ],\n "type": "object"\n },\n "unavailable_without_instrumentation": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "unknowns": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n }\n },\n "required": [\n "runtime",\n "target",\n "capture",\n "scripts",\n "execution_contexts",\n "directly_observed",\n "unavailable_without_instrumentation",\n "unknowns",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Observe Javascript Runtime"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Trace a typed literal seed through every reachable part of an authenticated JavaScript Application Graph supplied as inline Evidence or exact same-session retained references. Original static, native, passive-runtime, inferred, and unknown authorities remain distinct; native addon handoffs never open a provider or execute the application.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "application": {\n "authority": "shipped-artifact",\n "confidence": "derived",\n "environment": null,\n "evidence_id": "ev_a4ae2c7b5c501fb6dff695b168f35a6dd157fa957410910684f3a4ce4c8b5d54",\n "evidence_links": [],\n "limitations": [],\n "locations": [],\n "normalized_result": {\n "format": "directory",\n "graph": {\n "coverage": {\n "limits": [],\n "omitted_count": 0,\n "status": "complete",\n "truncated": false\n },\n "edges": [],\n "graph_id": "jag_ab15669664efc0a86bb49c9c60241913cce6980dc2293fbeef6d9c862ca01d9d",\n "limitations": [],\n "nodes": [\n {\n "identity": {\n "sha256": "c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64",\n "stability": "global-exact",\n "strategy": "content-digest"\n },\n "kind": "javascript-asset",\n "node_id": "jag_node_3c82da5492d90eb5b0bee41c1a994d88b7ba98c0b4955270d70e57a76e224c2e",\n "observations": [\n {\n "evidence": {\n "artifact": {\n "artifact_id": "art_c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64",\n "available": true,\n "sha256": "c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64"\n },\n "authority": "artifact-bytes",\n "confidence": "exact",\n "coverage": {\n "limits": [],\n "omitted_count": 0,\n "status": "complete",\n "truncated": false\n },\n "evidence_ids": [],\n "extractor": {\n "executable_sha256": null,\n "name": "rea-javascript-application",\n "operation": "inventory-relevant-file",\n "version": "1"\n },\n "limitations": [],\n "location": {\n "available": true,\n "value": {\n "kind": "artifact-path",\n "path": "renderer.js"\n }\n },\n "state": "observed"\n },\n "identifier_strategy": {\n "stability": "observation-exact",\n "strategy": "semantic-content-sha256"\n },\n "label": "renderer.js",\n "observation_id": "jag_observation_20b4d076ce370db14ae2b477915624c62e0c4a0c9e56803a2c5cb4fa60c16230",\n "properties": {\n "bytes": 29,\n "path": "renderer.js"\n }\n }\n ]\n }\n ],\n "root_node_ids": [\n "jag_node_3c82da5492d90eb5b0bee41c1a994d88b7ba98c0b4955270d70e57a76e224c2e"\n ],\n "schema": "JavaScriptApplicationGraph"\n },\n "input_path": "/Applications/Example.app/Contents/Resources/app",\n "inventory_graph_sha256": "3333333333333333333333333333333333333333333333333333333333333333",\n "inventory_manifest_id": "agm_2222222222222222222222222222222222222222222222222222222222222222",\n "limitations": [],\n "root_artifact_sha256": "1111111111111111111111111111111111111111111111111111111111111111",\n "semantic_graph": {\n "application_graph_id": "jag_ab15669664efc0a86bb49c9c60241913cce6980dc2293fbeef6d9c862ca01d9d",\n "coverage": {\n "families": [\n {\n "family": "boundary",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "call-flow",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "child-process",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "closure",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "configuration",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "data-flow",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "event",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "object-flow",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "promise-ownership",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "request",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "resource-lifecycle",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "timer",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n }\n ],\n "limits": [],\n "omitted_nodes": 0,\n "omitted_relations": 0,\n "status": "unknown",\n "truncated": false\n },\n "fingerprints": [],\n "graph_id": "jsrg_08c925d2bf4ef56d770e0e67901d5bdfb610744cf001a50d36c9bb6dcb195508",\n "limitations": [\n "Semantic relations are unavailable in this minimal example."\n ],\n "nodes": [\n {\n "application_node_ids": [\n "jag_node_3c82da5492d90eb5b0bee41c1a994d88b7ba98c0b4955270d70e57a76e224c2e"\n ],\n "evidence": {\n "artifact": {\n "artifact_id": "art_c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64",\n "available": true,\n "sha256": "c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64"\n },\n "authority": "artifact-bytes",\n "confidence": "exact",\n "coverage": {\n "limits": [],\n "omitted_count": 0,\n "status": "complete",\n "truncated": false\n },\n "evidence_ids": [],\n "extractor": {\n "executable_sha256": null,\n "name": "rea-javascript-application",\n "operation": "inventory-relevant-file",\n "version": "1"\n },\n "limitations": [],\n "location": {\n "available": true,\n "value": {\n "kind": "artifact-path",\n "path": "renderer.js"\n }\n },\n "state": "observed"\n },\n "function_node_id": null,\n "identifier_strategy": {\n "stability": "artifact-version",\n "strategy": "semantic-content-sha256"\n },\n "identity": {\n "artifact_sha256": "1111111111111111111111111111111111111111111111111111111111111111",\n "module_path": "renderer.js",\n "role_key": "example-module",\n "source_range": null\n },\n "kind": "module",\n "label": "renderer.js",\n "node_id": "jsrg_node_9476602f1f74433a2bd3dadb040a25734d203b8f831b31a8d96f7efdfc5cd66a",\n "properties": {}\n }\n ],\n "relations": [],\n "root_artifact_sha256": "1111111111111111111111111111111111111111111111111111111111111111",\n "root_node_ids": [\n "jsrg_node_9476602f1f74433a2bd3dadb040a25734d203b8f831b31a8d96f7efdfc5cd66a"\n ],\n "schema": "JavaScriptSemanticRelationGraph",\n "unknowns": []\n },\n "statistics": {\n "findings": 0,\n "invalid_utf8_files": 0,\n "modules": 0,\n "nested_asar_containers": 0,\n "parse_failures": 0,\n "parsed_javascript_files": 1,\n "relevant_files": 1,\n "text_bytes_read": 29,\n "truncated_scopes": 0,\n "visited_ast_nodes": 1\n },\n "summary": {\n "browser_windows": 0,\n "context_bridge_apis": 0,\n "explicit_web_preferences": 0,\n "exposed_api_members": 0,\n "ipc": {\n "ambiguous_renderer_transmissions": 0,\n "dynamic_channel_operations": 0,\n "literal_channels": 0,\n "main_handlers": 0,\n "operations": 0,\n "paired_renderer_transmissions": 0,\n "renderer_listeners": 0,\n "renderer_transmissions": 0,\n "unpaired_literal_renderer_transmissions": 0\n },\n "native_addon_bindings": 0,\n "preload_entrypoints": 0,\n "resolved_native_addon_bindings": 0,\n "resolved_utility_entrypoints": 0,\n "sender_validation_observations": 0,\n "utility_processes": 0\n }\n },\n "operation": "analyze_javascript_application",\n "parameters": {},\n "predicate_type": "rea.javascript-application-analysis",\n "provider": {\n "id": "rea-javascript-application",\n "name": "REA JavaScript application analyzer",\n "version": "1"\n },\n "raw_result": null,\n "subject": {\n "architecture": null,\n "digest": {\n "sha256": "1111111111111111111111111111111111111111111111111111111111111111"\n },\n "format": "directory",\n "local_path": "/Applications/Example.app/Contents/Resources/app",\n "name": "app"\n }\n },\n "direction": "both",\n "seed": {\n "case_sensitive": false,\n "kind": "module",\n "match": "exact",\n "value": "renderer.js"\n }\n },\n {\n "application": {\n "evidence_id": "ev_a4ae2c7b5c501fb6dff695b168f35a6dd157fa957410910684f3a4ce4c8b5d54",\n "kind": "retained-evidence"\n },\n "direction": "both",\n "seed": {\n "case_sensitive": false,\n "kind": "module",\n "match": "exact",\n "value": "renderer.js"\n }\n }\n ],\n "properties": {\n "application": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "description": "Value for analysis profile.",\n "properties": {\n "digest": {\n "description": "Value for digest.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "description": "Value for version.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "description": "Value for authority.",\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "description": "Value for confidence.",\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "description": "Value for architecture.",\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "description": "Value for isolation.",\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "description": "Value for platform.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for environment."\n },\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "description": "Value for evidence links.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "description": "Value for locations.",\n "items": {\n "oneOf": [\n {\n "properties": {\n "address": {\n "description": "Value for address.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "artifact-path",\n "description": "Value for kind.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "file-offset",\n "description": "Value for kind.",\n "type": "string"\n },\n "offset": {\n "description": "Value for offset.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0",\n "description": "Value for normalized result."\n },\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "description": "Value for predicate type.",\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for version."\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for raw result."\n },\n "subject": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "digest": {\n "description": "Value for digest.",\n "properties": {\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "description": "Declared input artifact format.",\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "description": "Local filesystem path for local.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for subject."\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "kind": {\n "const": "retained-evidence",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "evidence_id"\n ],\n "type": "object"\n }\n ],\n "description": "Value for application."\n },\n "direction": {\n "default": "both",\n "description": "Direction in which to traverse or compare relationships.",\n "enum": [\n "outgoing",\n "incoming",\n "both"\n ],\n "type": "string"\n },\n "native_observations": {\n "default": [],\n "description": "Value for native observations.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "description": "Value for analysis profile.",\n "properties": {\n "digest": {\n "description": "Value for digest.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "description": "Value for version.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "description": "Value for authority.",\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "description": "Value for confidence.",\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "description": "Value for architecture.",\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "description": "Value for isolation.",\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "description": "Value for platform.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for environment."\n },\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "description": "Value for evidence links.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "description": "Value for locations.",\n "items": {\n "oneOf": [\n {\n "properties": {\n "address": {\n "description": "Value for address.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "artifact-path",\n "description": "Value for kind.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "file-offset",\n "description": "Value for kind.",\n "type": "string"\n },\n "offset": {\n "description": "Value for offset.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0",\n "description": "Value for normalized result."\n },\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "description": "Value for predicate type.",\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for version."\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for raw result."\n },\n "subject": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "digest": {\n "description": "Value for digest.",\n "properties": {\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "description": "Declared input artifact format.",\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "description": "Local filesystem path for local.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for subject."\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "seed": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "case_sensitive": {\n "default": false,\n "description": "Whether text matching distinguishes uppercase and lowercase.",\n "type": "boolean"\n },\n "kind": {\n "description": "Value for kind.",\n "enum": [\n "node-id",\n "route",\n "string",\n "api",\n "channel",\n "module",\n "native-export"\n ],\n "type": "string"\n },\n "match": {\n "anyOf": [\n {\n "enum": [\n "exact",\n "contains"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "Value for match."\n },\n "value": {\n "description": "Value for value.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "case_sensitive": {\n "default": false,\n "description": "Whether text matching distinguishes uppercase and lowercase.",\n "type": "boolean"\n },\n "kind": {\n "description": "Value for kind.",\n "enum": [\n "route",\n "string",\n "api",\n "channel",\n "module",\n "native-export"\n ],\n "type": "string"\n },\n "match": {\n "const": "exact",\n "description": "Value for match.",\n "type": "string"\n },\n "value": {\n "const": "",\n "description": "Value for value.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "value",\n "match"\n ],\n "type": "object"\n }\n ],\n "description": "Value for seed."\n }\n },\n "required": [\n "seed",\n "application"\n ],\n "type": "object"\n },\n "kind": "application",\n "name": "trace_application_feature",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "coverage": {\n "additionalProperties": false,\n "properties": {\n "source_graph_status": {\n "enum": [\n "complete",\n "partial",\n "unknown",\n "unavailable"\n ],\n "type": "string"\n },\n "status": {\n "enum": [\n "complete-within-source",\n "partial",\n "no-match"\n ],\n "type": "string"\n },\n "total_seed_matches": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "status",\n "source_graph_status",\n "total_seed_matches"\n ],\n "type": "object"\n },\n "direction": {\n "enum": [\n "outgoing",\n "incoming",\n "both"\n ],\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "graph": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "coverage": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "const": 0,\n "type": "number"\n },\n "status": {\n "const": "complete",\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "partial",\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "omitted_count": {\n "anyOf": [\n {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "partial",\n "type": "string"\n },\n "truncated": {\n "const": true,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "type": "null"\n },\n "status": {\n "enum": [\n "unknown",\n "unavailable"\n ],\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n }\n ]\n },\n "edges": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "edge_id": {\n "pattern": "^jag_edge_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "artifact": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "artifact_id": {\n "pattern": "^art_[a-f0-9]{64}$",\n "type": "string"\n },\n "available": {\n "const": true,\n "type": "boolean"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "available",\n "artifact_id",\n "sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "enum": [\n "not-applicable",\n "not-observed",\n "truncated",\n "provider-unavailable",\n "unresolved",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason",\n "detail"\n ],\n "type": "object"\n }\n ]\n },\n "authority": {\n "enum": [\n "artifact-bytes",\n "ast-static-analysis",\n "static-relationship-inference",\n "passive-cdp-runtime",\n "cross-layer-reconciliation",\n "cross-version-comparison",\n "controlled-replay",\n "native-analysis-provider",\n "managed-static-analysis",\n "historical-reference",\n "user-assertion",\n "unknown"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "exact",\n "high",\n "medium",\n "low",\n "unknown"\n ],\n "type": "string"\n },\n "coverage": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "const": 0,\n "type": "number"\n },\n "status": {\n "const": "complete",\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "partial",\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "omitted_count": {\n "anyOf": [\n {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "partial",\n "type": "string"\n },\n "truncated": {\n "const": true,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "type": "null"\n },\n "status": {\n "enum": [\n "unknown",\n "unavailable"\n ],\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n }\n ]\n },\n "evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "extractor": {\n "additionalProperties": false,\n "properties": {\n "executable_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "version",\n "operation",\n "executable_sha256"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "location": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "value": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "line",\n "column"\n ],\n "type": "object"\n },\n "kind": {\n "const": "source-range",\n "type": "string"\n },\n "source": {\n "minLength": 1,\n "type": "string"\n },\n "start": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "line",\n "column"\n ],\n "type": "object"\n }\n },\n "required": [\n "kind",\n "source",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "url",\n "type": "string"\n },\n "url": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "url"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "capture_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "frame_key": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "kind": {\n "const": "runtime",\n "type": "string"\n },\n "script_key": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "target_key": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "capture_sha256",\n "target_key",\n "frame_key",\n "script_key"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "native-address",\n "type": "string"\n },\n "symbol": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "kind",\n "address",\n "symbol"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "export_path": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "package-export",\n "type": "string"\n },\n "package_name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "package_name",\n "export_path"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "available",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "enum": [\n "not-applicable",\n "not-observed",\n "truncated",\n "provider-unavailable",\n "unresolved",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason",\n "detail"\n ],\n "type": "object"\n }\n ]\n },\n "state": {\n "enum": [\n "observed",\n "inferred",\n "unknown",\n "unavailable"\n ],\n "type": "string"\n }\n },\n "required": [\n "authority",\n "state",\n "confidence",\n "artifact",\n "location",\n "extractor",\n "coverage",\n "limitations",\n "evidence_ids"\n ],\n "type": "object"\n },\n "identifier_strategy": {\n "additionalProperties": false,\n "properties": {\n "stability": {\n "const": "relationship-exact",\n "type": "string"\n },\n "strategy": {\n "const": "semantic-content-sha256",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability"\n ],\n "type": "object"\n },\n "properties": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "minLength": 1,\n "type": "string"\n },\n "type": "object"\n },\n "relation": {\n "enum": [\n "contains",\n "loads",\n "imports",\n "maps_to",\n "exposes",\n "sends",\n "invokes",\n "handles",\n "calls",\n "persists_to",\n "observed_as",\n "changed_from"\n ],\n "type": "string"\n },\n "source_node_id": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "target_node_id": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "source_node_id",\n "target_node_id",\n "relation",\n "properties",\n "evidence",\n "edge_id",\n "identifier_strategy"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "graph_id": {\n "pattern": "^jag_[a-f0-9]{64}$",\n "type": "string"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "nodes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "identity": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "stability": {\n "const": "global-exact",\n "type": "string"\n },\n "strategy": {\n "const": "content-digest",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability",\n "sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "original_source": {\n "type": "string"\n },\n "source_map_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "source_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "stability": {\n "const": "source-map-exact",\n "type": "string"\n },\n "strategy": {\n "const": "source-map-original",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability",\n "source_map_sha256",\n "original_source",\n "source_sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "artifact_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n },\n "stability": {\n "const": "artifact-version",\n "type": "string"\n },\n "strategy": {\n "const": "canonical-path",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability",\n "artifact_sha256",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "algorithm": {\n "minLength": 1,\n "type": "string"\n },\n "basis": {\n "items": {\n "enum": [\n "syntax-tree",\n "control-flow",\n "imports",\n "exports",\n "literals",\n "api-usage"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "fingerprint_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "stability": {\n "const": "cross-version-inference",\n "type": "string"\n },\n "strategy": {\n "const": "structural-fingerprint",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability",\n "algorithm",\n "fingerprint_sha256",\n "basis"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "artifact_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "key": {\n "type": "string"\n },\n "namespace": {\n "minLength": 1,\n "type": "string"\n },\n "stability": {\n "const": "artifact-version",\n "type": "string"\n },\n "strategy": {\n "const": "artifact-local-key",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability",\n "artifact_sha256",\n "namespace",\n "key"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "capture_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "runtime_key": {\n "minLength": 1,\n "type": "string"\n },\n "stability": {\n "const": "capture-only",\n "type": "string"\n },\n "strategy": {\n "const": "runtime-instance",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability",\n "capture_sha256",\n "runtime_key"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "observation_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "scope": {\n "minLength": 1,\n "type": "string"\n },\n "stability": {\n "const": "observation-only",\n "type": "string"\n },\n "strategy": {\n "const": "observation-fingerprint",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability",\n "observation_sha256",\n "scope"\n ],\n "type": "object"\n }\n ]\n },\n "kind": {\n "enum": [\n "package",\n "installer",\n "artifact",\n "asar-entry",\n "electron-main",\n "electron-preload",\n "electron-renderer",\n "electron-utility",\n "javascript-asset",\n "javascript-chunk",\n "javascript-module",\n "source-map",\n "source-module",\n "browser-window",\n "frame",\n "target",\n "context-bridge-api",\n "ipc-channel",\n "ipc-handler",\n "worker",\n "service-worker",\n "endpoint",\n "storage",\n "native-addon",\n "native-export",\n "managed-assembly",\n "managed-module",\n "managed-type",\n "managed-method",\n "managed-field",\n "managed-pinvoke-import",\n "managed-native-implementation",\n "runtime-script-instance",\n "unknown"\n ],\n "type": "string"\n },\n "node_id": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "observations": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "artifact": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "artifact_id": {\n "pattern": "^art_[a-f0-9]{64}$",\n "type": "string"\n },\n "available": {\n "const": true,\n "type": "boolean"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "available",\n "artifact_id",\n "sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "enum": [\n "not-applicable",\n "not-observed",\n "truncated",\n "provider-unavailable",\n "unresolved",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason",\n "detail"\n ],\n "type": "object"\n }\n ]\n },\n "authority": {\n "enum": [\n "artifact-bytes",\n "ast-static-analysis",\n "static-relationship-inference",\n "passive-cdp-runtime",\n "cross-layer-reconciliation",\n "cross-version-comparison",\n "controlled-replay",\n "native-analysis-provider",\n "managed-static-analysis",\n "historical-reference",\n "user-assertion",\n "unknown"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "exact",\n "high",\n "medium",\n "low",\n "unknown"\n ],\n "type": "string"\n },\n "coverage": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "const": 0,\n "type": "number"\n },\n "status": {\n "const": "complete",\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "partial",\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "omitted_count": {\n "anyOf": [\n {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "partial",\n "type": "string"\n },\n "truncated": {\n "const": true,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "type": "null"\n },\n "status": {\n "enum": [\n "unknown",\n "unavailable"\n ],\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n }\n ]\n },\n "evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "extractor": {\n "additionalProperties": false,\n "properties": {\n "executable_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "version",\n "operation",\n "executable_sha256"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "location": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "value": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "line",\n "column"\n ],\n "type": "object"\n },\n "kind": {\n "const": "source-range",\n "type": "string"\n },\n "source": {\n "minLength": 1,\n "type": "string"\n },\n "start": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "line",\n "column"\n ],\n "type": "object"\n }\n },\n "required": [\n "kind",\n "source",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "url",\n "type": "string"\n },\n "url": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "url"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "capture_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "frame_key": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "kind": {\n "const": "runtime",\n "type": "string"\n },\n "script_key": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "target_key": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "capture_sha256",\n "target_key",\n "frame_key",\n "script_key"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "native-address",\n "type": "string"\n },\n "symbol": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "kind",\n "address",\n "symbol"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "export_path": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "package-export",\n "type": "string"\n },\n "package_name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "package_name",\n "export_path"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "available",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "enum": [\n "not-applicable",\n "not-observed",\n "truncated",\n "provider-unavailable",\n "unresolved",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason",\n "detail"\n ],\n "type": "object"\n }\n ]\n },\n "state": {\n "enum": [\n "observed",\n "inferred",\n "unknown",\n "unavailable"\n ],\n "type": "string"\n }\n },\n "required": [\n "authority",\n "state",\n "confidence",\n "artifact",\n "location",\n "extractor",\n "coverage",\n "limitations",\n "evidence_ids"\n ],\n "type": "object"\n },\n "identifier_strategy": {\n "additionalProperties": false,\n "properties": {\n "stability": {\n "const": "observation-exact",\n "type": "string"\n },\n "strategy": {\n "const": "semantic-content-sha256",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability"\n ],\n "type": "object"\n },\n "label": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "observation_id": {\n "pattern": "^jag_observation_[a-f0-9]{64}$",\n "type": "string"\n },\n "properties": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "minLength": 1,\n "type": "string"\n },\n "type": "object"\n }\n },\n "required": [\n "label",\n "properties",\n "evidence",\n "observation_id",\n "identifier_strategy"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "node_id",\n "kind",\n "identity",\n "observations"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "root_node_ids": {\n "items": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "schema": {\n "const": "JavaScriptApplicationGraph",\n "type": "string"\n }\n },\n "required": [\n "schema",\n "root_node_ids",\n "nodes",\n "edges",\n "coverage",\n "limitations",\n "graph_id"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "native_handoffs": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "artifact_path": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "artifact_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "export_node_ids": {\n "items": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "native_node_id": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "providers": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "recommended_tools": {\n "items": {\n "enum": [\n "open_binary",\n "binary_overview",\n "search_procedures",\n "analyze_function",\n "xrefs"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "requested_exports": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "status": {\n "enum": [\n "evidence-linked",\n "requires-provider-analysis"\n ],\n "type": "string"\n }\n },\n "required": [\n "native_node_id",\n "artifact_sha256",\n "artifact_path",\n "export_node_ids",\n "requested_exports",\n "status",\n "providers",\n "evidence_ids",\n "recommended_tools"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "paths": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "authorities": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "contains_inference": {\n "type": "boolean"\n },\n "edge_ids": {\n "items": {\n "pattern": "^jag_edge_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "end_kind": {\n "minLength": 1,\n "type": "string"\n },\n "end_node_id": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "node_ids": {\n "items": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "path_id": {\n "pattern": "^jatp_[a-f0-9]{64}$",\n "type": "string"\n },\n "start_node_id": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "path_id",\n "start_node_id",\n "end_node_id",\n "end_kind",\n "node_ids",\n "edge_ids",\n "authorities",\n "contains_inference"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "seed": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "case_sensitive": {\n "default": false,\n "type": "boolean"\n },\n "kind": {\n "enum": [\n "node-id",\n "route",\n "string",\n "api",\n "channel",\n "module",\n "native-export"\n ],\n "type": "string"\n },\n "match": {\n "anyOf": [\n {\n "enum": [\n "exact",\n "contains"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "value": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "value",\n "match",\n "case_sensitive"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "case_sensitive": {\n "default": false,\n "type": "boolean"\n },\n "kind": {\n "enum": [\n "route",\n "string",\n "api",\n "channel",\n "module",\n "native-export"\n ],\n "type": "string"\n },\n "match": {\n "const": "exact",\n "type": "string"\n },\n "value": {\n "const": "",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "value",\n "match",\n "case_sensitive"\n ],\n "type": "object"\n }\n ]\n },\n "seed_matches": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "basis": {\n "enum": [\n "node-id",\n "label",\n "identity",\n "property"\n ],\n "type": "string"\n },\n "field": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "minLength": 1,\n "type": "string"\n },\n "node_id": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "node_id",\n "kind",\n "basis",\n "field"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "source_evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "source_graph_id": {\n "pattern": "^jag_[a-f0-9]{64}$",\n "type": "string"\n },\n "summary": {\n "additionalProperties": false,\n "properties": {\n "inferred_facts": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "matched_seeds": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "native_handoffs": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "observed_facts": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "terminal_paths": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "traced_edges": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "traced_nodes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "unavailable_facts": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "unknown_facts": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "matched_seeds",\n "traced_nodes",\n "traced_edges",\n "terminal_paths",\n "native_handoffs",\n "observed_facts",\n "inferred_facts",\n "unknown_facts",\n "unavailable_facts"\n ],\n "type": "object"\n },\n "trace_id": {\n "pattern": "^jatr_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "trace_id",\n "source_evidence_id",\n "source_graph_id",\n "seed",\n "direction",\n "seed_matches",\n "graph",\n "paths",\n "native_handoffs",\n "summary",\n "coverage",\n "evidence_links",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Trace Application Feature"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Trace static JavaScript data-flow, direct call/return, and closure relations from inline application Evidence or an exact same-session retained reference. Dynamic or unsupported semantics remain explicit unknowns; static reachability never claims runtime execution.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "application": {\n "authority": "shipped-artifact",\n "confidence": "derived",\n "environment": null,\n "evidence_id": "ev_a4ae2c7b5c501fb6dff695b168f35a6dd157fa957410910684f3a4ce4c8b5d54",\n "evidence_links": [],\n "limitations": [],\n "locations": [],\n "normalized_result": {\n "format": "directory",\n "graph": {\n "coverage": {\n "limits": [],\n "omitted_count": 0,\n "status": "complete",\n "truncated": false\n },\n "edges": [],\n "graph_id": "jag_ab15669664efc0a86bb49c9c60241913cce6980dc2293fbeef6d9c862ca01d9d",\n "limitations": [],\n "nodes": [\n {\n "identity": {\n "sha256": "c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64",\n "stability": "global-exact",\n "strategy": "content-digest"\n },\n "kind": "javascript-asset",\n "node_id": "jag_node_3c82da5492d90eb5b0bee41c1a994d88b7ba98c0b4955270d70e57a76e224c2e",\n "observations": [\n {\n "evidence": {\n "artifact": {\n "artifact_id": "art_c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64",\n "available": true,\n "sha256": "c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64"\n },\n "authority": "artifact-bytes",\n "confidence": "exact",\n "coverage": {\n "limits": [],\n "omitted_count": 0,\n "status": "complete",\n "truncated": false\n },\n "evidence_ids": [],\n "extractor": {\n "executable_sha256": null,\n "name": "rea-javascript-application",\n "operation": "inventory-relevant-file",\n "version": "1"\n },\n "limitations": [],\n "location": {\n "available": true,\n "value": {\n "kind": "artifact-path",\n "path": "renderer.js"\n }\n },\n "state": "observed"\n },\n "identifier_strategy": {\n "stability": "observation-exact",\n "strategy": "semantic-content-sha256"\n },\n "label": "renderer.js",\n "observation_id": "jag_observation_20b4d076ce370db14ae2b477915624c62e0c4a0c9e56803a2c5cb4fa60c16230",\n "properties": {\n "bytes": 29,\n "path": "renderer.js"\n }\n }\n ]\n }\n ],\n "root_node_ids": [\n "jag_node_3c82da5492d90eb5b0bee41c1a994d88b7ba98c0b4955270d70e57a76e224c2e"\n ],\n "schema": "JavaScriptApplicationGraph"\n },\n "input_path": "/Applications/Example.app/Contents/Resources/app",\n "inventory_graph_sha256": "3333333333333333333333333333333333333333333333333333333333333333",\n "inventory_manifest_id": "agm_2222222222222222222222222222222222222222222222222222222222222222",\n "limitations": [],\n "root_artifact_sha256": "1111111111111111111111111111111111111111111111111111111111111111",\n "semantic_graph": {\n "application_graph_id": "jag_ab15669664efc0a86bb49c9c60241913cce6980dc2293fbeef6d9c862ca01d9d",\n "coverage": {\n "families": [\n {\n "family": "boundary",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "call-flow",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "child-process",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "closure",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "configuration",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "data-flow",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "event",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "object-flow",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "promise-ownership",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "request",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "resource-lifecycle",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "timer",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n }\n ],\n "limits": [],\n "omitted_nodes": 0,\n "omitted_relations": 0,\n "status": "unknown",\n "truncated": false\n },\n "fingerprints": [],\n "graph_id": "jsrg_08c925d2bf4ef56d770e0e67901d5bdfb610744cf001a50d36c9bb6dcb195508",\n "limitations": [\n "Semantic relations are unavailable in this minimal example."\n ],\n "nodes": [\n {\n "application_node_ids": [\n "jag_node_3c82da5492d90eb5b0bee41c1a994d88b7ba98c0b4955270d70e57a76e224c2e"\n ],\n "evidence": {\n "artifact": {\n "artifact_id": "art_c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64",\n "available": true,\n "sha256": "c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64"\n },\n "authority": "artifact-bytes",\n "confidence": "exact",\n "coverage": {\n "limits": [],\n "omitted_count": 0,\n "status": "complete",\n "truncated": false\n },\n "evidence_ids": [],\n "extractor": {\n "executable_sha256": null,\n "name": "rea-javascript-application",\n "operation": "inventory-relevant-file",\n "version": "1"\n },\n "limitations": [],\n "location": {\n "available": true,\n "value": {\n "kind": "artifact-path",\n "path": "renderer.js"\n }\n },\n "state": "observed"\n },\n "function_node_id": null,\n "identifier_strategy": {\n "stability": "artifact-version",\n "strategy": "semantic-content-sha256"\n },\n "identity": {\n "artifact_sha256": "1111111111111111111111111111111111111111111111111111111111111111",\n "module_path": "renderer.js",\n "role_key": "example-module",\n "source_range": null\n },\n "kind": "module",\n "label": "renderer.js",\n "node_id": "jsrg_node_9476602f1f74433a2bd3dadb040a25734d203b8f831b31a8d96f7efdfc5cd66a",\n "properties": {}\n }\n ],\n "relations": [],\n "root_artifact_sha256": "1111111111111111111111111111111111111111111111111111111111111111",\n "root_node_ids": [\n "jsrg_node_9476602f1f74433a2bd3dadb040a25734d203b8f831b31a8d96f7efdfc5cd66a"\n ],\n "schema": "JavaScriptSemanticRelationGraph",\n "unknowns": []\n },\n "statistics": {\n "findings": 0,\n "invalid_utf8_files": 0,\n "modules": 0,\n "nested_asar_containers": 0,\n "parse_failures": 0,\n "parsed_javascript_files": 1,\n "relevant_files": 1,\n "text_bytes_read": 29,\n "truncated_scopes": 0,\n "visited_ast_nodes": 1\n },\n "summary": {\n "browser_windows": 0,\n "context_bridge_apis": 0,\n "explicit_web_preferences": 0,\n "exposed_api_members": 0,\n "ipc": {\n "ambiguous_renderer_transmissions": 0,\n "dynamic_channel_operations": 0,\n "literal_channels": 0,\n "main_handlers": 0,\n "operations": 0,\n "paired_renderer_transmissions": 0,\n "renderer_listeners": 0,\n "renderer_transmissions": 0,\n "unpaired_literal_renderer_transmissions": 0\n },\n "native_addon_bindings": 0,\n "preload_entrypoints": 0,\n "resolved_native_addon_bindings": 0,\n "resolved_utility_entrypoints": 0,\n "sender_validation_observations": 0,\n "utility_processes": 0\n }\n },\n "operation": "analyze_javascript_application",\n "parameters": {},\n "predicate_type": "rea.javascript-application-analysis",\n "provider": {\n "id": "rea-javascript-application",\n "name": "REA JavaScript application analyzer",\n "version": "1"\n },\n "raw_result": null,\n "subject": {\n "architecture": null,\n "digest": {\n "sha256": "1111111111111111111111111111111111111111111111111111111111111111"\n },\n "format": "directory",\n "local_path": "/Applications/Example.app/Contents/Resources/app",\n "name": "app"\n }\n },\n "query": {\n "direction": "backward-provenance",\n "seed": {\n "kind": "semantic-node",\n "node_id": "jsrg_node_0000000000000000000000000000000000000000000000000000000000000000"\n }\n }\n }\n ],\n "properties": {\n "application": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "description": "Value for analysis profile.",\n "properties": {\n "digest": {\n "description": "Value for digest.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "description": "Value for version.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "description": "Value for authority.",\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "description": "Value for confidence.",\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "description": "Value for architecture.",\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "description": "Value for isolation.",\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "description": "Value for platform.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for environment."\n },\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "description": "Value for evidence links.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "description": "Value for locations.",\n "items": {\n "oneOf": [\n {\n "properties": {\n "address": {\n "description": "Value for address.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "artifact-path",\n "description": "Value for kind.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "file-offset",\n "description": "Value for kind.",\n "type": "string"\n },\n "offset": {\n "description": "Value for offset.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0",\n "description": "Value for normalized result."\n },\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "description": "Value for predicate type.",\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for version."\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for raw result."\n },\n "subject": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "digest": {\n "description": "Value for digest.",\n "properties": {\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "description": "Declared input artifact format.",\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "description": "Local filesystem path for local.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for subject."\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "kind": {\n "const": "retained-evidence",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "evidence_id"\n ],\n "type": "object"\n }\n ],\n "description": "Value for application."\n },\n "query": {\n "additionalProperties": false,\n "description": "Non-empty feature or text query to investigate.",\n "properties": {\n "allowed_relations": {\n "description": "Value for allowed relations.",\n "items": {\n "enum": [\n "acquires",\n "aggregates",\n "aliases",\n "argument-to-parameter",\n "awaits",\n "calls",\n "cancels-timer",\n "captures",\n "chains",\n "coerces",\n "connects-stdio",\n "consumed-by",\n "constructs-request",\n "creates-promise",\n "defaults",\n "defines",\n "destructures",\n "detaches-task",\n "dispatches-candidate",\n "forwards-signal",\n "listens-error",\n "listens-exit",\n "owns",\n "overrides",\n "parses",\n "reads",\n "reads-argv",\n "reads-config",\n "reads-environment",\n "reads-property",\n "registers-listener",\n "releases",\n "removes-listener",\n "returns-task",\n "returns-to-call",\n "schedules-timer",\n "spawns",\n "spreads",\n "supplies-argv",\n "supplies-env",\n "supplies-request-field",\n "validates",\n "writes",\n "writes-property"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "direction": {\n "description": "Direction in which to traverse or compare relationships.",\n "enum": [\n "backward-provenance",\n "forward-influence",\n "callers",\n "ownership"\n ],\n "type": "string"\n },\n "expected": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "classes": {\n "description": "Value for classes.",\n "items": {\n "enum": [\n "module",\n "function",\n "parameter",\n "binding",\n "expression",\n "literal",\n "property-slot",\n "call-site",\n "return-site",\n "closure-capture",\n "promise",\n "task",\n "event",\n "listener",\n "timer",\n "child-process",\n "stdio",\n "signal",\n "config-source",\n "request",\n "response",\n "boundary",\n "resource",\n "unknown-frontier"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "role": {\n "description": "Value for role.",\n "enum": [\n "source",\n "sink"\n ],\n "type": "string"\n }\n },\n "required": [\n "role",\n "classes"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "Value for expected."\n },\n "include_ambiguous_dynamic_edges": {\n "default": false,\n "description": "Whether to include ambiguous dynamic edges in the result.",\n "type": "boolean"\n },\n "seed": {\n "description": "Value for seed.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "semantic-node",\n "description": "Value for kind.",\n "type": "string"\n },\n "node_id": {\n "description": "Value for node id.",\n "pattern": "^jsrg_node_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "node_id"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "application-node",\n "description": "Value for kind.",\n "type": "string"\n },\n "node_id": {\n "description": "Value for node id.",\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "node_id"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "literal",\n "description": "Value for kind.",\n "type": "string"\n },\n "value": {\n "$ref": "#/$defs/__schema0",\n "description": "Value for value."\n }\n },\n "required": [\n "kind",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "fingerprint_sha256": {\n "description": "Exact SHA-256 digest of fingerprint.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "kind": {\n "const": "function",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "fingerprint_sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "property",\n "description": "Value for kind.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "name"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "endpoint",\n "description": "Value for kind.",\n "type": "string"\n },\n "value": {\n "description": "Value for value.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "event",\n "description": "Value for kind.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "name"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "field": {\n "description": "Value for field.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "boundary-field",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "field"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "seed",\n "direction"\n ],\n "type": "object"\n }\n },\n "required": [\n "application",\n "query"\n ],\n "type": "object"\n },\n "kind": "application",\n "name": "trace_javascript_semantics",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "coverage": {\n "additionalProperties": false,\n "properties": {\n "status": {\n "enum": [\n "complete",\n "partial",\n "unavailable"\n ],\n "type": "string"\n }\n },\n "required": [\n "status"\n ],\n "type": "object"\n },\n "direction": {\n "enum": [\n "backward-provenance",\n "forward-influence",\n "callers",\n "ownership"\n ],\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "maxItems": 1,\n "minItems": 1,\n "type": "array"\n },\n "expected_match_node_ids": {\n "items": {\n "pattern": "^jsrg_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "nodes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "application_node_ids": {\n "items": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "artifact": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "artifact_id": {\n "pattern": "^art_[a-f0-9]{64}$",\n "type": "string"\n },\n "available": {\n "const": true,\n "type": "boolean"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "available",\n "artifact_id",\n "sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "enum": [\n "not-applicable",\n "not-observed",\n "truncated",\n "provider-unavailable",\n "unresolved",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason",\n "detail"\n ],\n "type": "object"\n }\n ]\n },\n "authority": {\n "enum": [\n "artifact-bytes",\n "ast-static-analysis",\n "static-relationship-inference",\n "passive-cdp-runtime",\n "cross-layer-reconciliation",\n "cross-version-comparison",\n "controlled-replay",\n "native-analysis-provider",\n "managed-static-analysis",\n "historical-reference",\n "user-assertion",\n "unknown"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "exact",\n "high",\n "medium",\n "low",\n "unknown"\n ],\n "type": "string"\n },\n "coverage": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "const": 0,\n "type": "number"\n },\n "status": {\n "const": "complete",\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "partial",\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "omitted_count": {\n "anyOf": [\n {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "partial",\n "type": "string"\n },\n "truncated": {\n "const": true,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "type": "null"\n },\n "status": {\n "enum": [\n "unknown",\n "unavailable"\n ],\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n }\n ]\n },\n "evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "extractor": {\n "additionalProperties": false,\n "properties": {\n "executable_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "version",\n "operation",\n "executable_sha256"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "location": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "value": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "line",\n "column"\n ],\n "type": "object"\n },\n "kind": {\n "const": "source-range",\n "type": "string"\n },\n "source": {\n "minLength": 1,\n "type": "string"\n },\n "start": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "line",\n "column"\n ],\n "type": "object"\n }\n },\n "required": [\n "kind",\n "source",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "url",\n "type": "string"\n },\n "url": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "url"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "capture_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "frame_key": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "kind": {\n "const": "runtime",\n "type": "string"\n },\n "script_key": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "target_key": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "capture_sha256",\n "target_key",\n "frame_key",\n "script_key"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "native-address",\n "type": "string"\n },\n "symbol": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "kind",\n "address",\n "symbol"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "export_path": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "package-export",\n "type": "string"\n },\n "package_name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "package_name",\n "export_path"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "available",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "enum": [\n "not-applicable",\n "not-observed",\n "truncated",\n "provider-unavailable",\n "unresolved",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason",\n "detail"\n ],\n "type": "object"\n }\n ]\n },\n "state": {\n "enum": [\n "observed",\n "inferred",\n "unknown",\n "unavailable"\n ],\n "type": "string"\n }\n },\n "required": [\n "authority",\n "state",\n "confidence",\n "artifact",\n "location",\n "extractor",\n "coverage",\n "limitations",\n "evidence_ids"\n ],\n "type": "object"\n },\n "function_node_id": {\n "anyOf": [\n {\n "pattern": "^jsrg_node_[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "identifier_strategy": {\n "additionalProperties": false,\n "properties": {\n "stability": {\n "const": "artifact-version",\n "type": "string"\n },\n "strategy": {\n "const": "semantic-content-sha256",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability"\n ],\n "type": "object"\n },\n "identity": {\n "additionalProperties": false,\n "properties": {\n "artifact_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "module_path": {\n "minLength": 1,\n "type": "string"\n },\n "role_key": {\n "minLength": 1,\n "type": "string"\n },\n "source_range": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "line",\n "column"\n ],\n "type": "object"\n },\n "start": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "line",\n "column"\n ],\n "type": "object"\n }\n },\n "required": [\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "artifact_sha256",\n "module_path",\n "source_range",\n "role_key"\n ],\n "type": "object"\n },\n "kind": {\n "enum": [\n "module",\n "function",\n "parameter",\n "binding",\n "expression",\n "literal",\n "property-slot",\n "call-site",\n "return-site",\n "closure-capture",\n "promise",\n "task",\n "event",\n "listener",\n "timer",\n "child-process",\n "stdio",\n "signal",\n "config-source",\n "request",\n "response",\n "boundary",\n "resource",\n "unknown-frontier"\n ],\n "type": "string"\n },\n "label": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "node_id": {\n "pattern": "^jsrg_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "properties": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "minLength": 1,\n "type": "string"\n },\n "type": "object"\n }\n },\n "required": [\n "kind",\n "identity",\n "function_node_id",\n "application_node_ids",\n "label",\n "properties",\n "evidence",\n "node_id",\n "identifier_strategy"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "query_id": {\n "pattern": "^jsrq_[a-f0-9]{64}$",\n "type": "string"\n },\n "relations": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "artifact": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "artifact_id": {\n "pattern": "^art_[a-f0-9]{64}$",\n "type": "string"\n },\n "available": {\n "const": true,\n "type": "boolean"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "available",\n "artifact_id",\n "sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "enum": [\n "not-applicable",\n "not-observed",\n "truncated",\n "provider-unavailable",\n "unresolved",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason",\n "detail"\n ],\n "type": "object"\n }\n ]\n },\n "authority": {\n "enum": [\n "artifact-bytes",\n "ast-static-analysis",\n "static-relationship-inference",\n "passive-cdp-runtime",\n "cross-layer-reconciliation",\n "cross-version-comparison",\n "controlled-replay",\n "native-analysis-provider",\n "managed-static-analysis",\n "historical-reference",\n "user-assertion",\n "unknown"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "exact",\n "high",\n "medium",\n "low",\n "unknown"\n ],\n "type": "string"\n },\n "coverage": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "const": 0,\n "type": "number"\n },\n "status": {\n "const": "complete",\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "partial",\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "omitted_count": {\n "anyOf": [\n {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "partial",\n "type": "string"\n },\n "truncated": {\n "const": true,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "type": "null"\n },\n "status": {\n "enum": [\n "unknown",\n "unavailable"\n ],\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n }\n ]\n },\n "evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "extractor": {\n "additionalProperties": false,\n "properties": {\n "executable_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "version",\n "operation",\n "executable_sha256"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "location": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "value": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "line",\n "column"\n ],\n "type": "object"\n },\n "kind": {\n "const": "source-range",\n "type": "string"\n },\n "source": {\n "minLength": 1,\n "type": "string"\n },\n "start": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "line",\n "column"\n ],\n "type": "object"\n }\n },\n "required": [\n "kind",\n "source",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "url",\n "type": "string"\n },\n "url": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "url"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "capture_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "frame_key": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "kind": {\n "const": "runtime",\n "type": "string"\n },\n "script_key": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "target_key": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "capture_sha256",\n "target_key",\n "frame_key",\n "script_key"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "native-address",\n "type": "string"\n },\n "symbol": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "kind",\n "address",\n "symbol"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "export_path": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "package-export",\n "type": "string"\n },\n "package_name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "package_name",\n "export_path"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "available",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "enum": [\n "not-applicable",\n "not-observed",\n "truncated",\n "provider-unavailable",\n "unresolved",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason",\n "detail"\n ],\n "type": "object"\n }\n ]\n },\n "state": {\n "enum": [\n "observed",\n "inferred",\n "unknown",\n "unavailable"\n ],\n "type": "string"\n }\n },\n "required": [\n "authority",\n "state",\n "confidence",\n "artifact",\n "location",\n "extractor",\n "coverage",\n "limitations",\n "evidence_ids"\n ],\n "type": "object"\n },\n "identifier_strategy": {\n "additionalProperties": false,\n "properties": {\n "stability": {\n "const": "relationship-exact",\n "type": "string"\n },\n "strategy": {\n "const": "semantic-content-sha256",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability"\n ],\n "type": "object"\n },\n "properties": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "minLength": 1,\n "type": "string"\n },\n "type": "object"\n },\n "relation": {\n "enum": [\n "acquires",\n "aggregates",\n "aliases",\n "argument-to-parameter",\n "awaits",\n "calls",\n "cancels-timer",\n "captures",\n "chains",\n "coerces",\n "connects-stdio",\n "consumed-by",\n "constructs-request",\n "creates-promise",\n "defaults",\n "defines",\n "destructures",\n "detaches-task",\n "dispatches-candidate",\n "forwards-signal",\n "listens-error",\n "listens-exit",\n "owns",\n "overrides",\n "parses",\n "reads",\n "reads-argv",\n "reads-config",\n "reads-environment",\n "reads-property",\n "registers-listener",\n "releases",\n "removes-listener",\n "returns-task",\n "returns-to-call",\n "schedules-timer",\n "spawns",\n "spreads",\n "supplies-argv",\n "supplies-env",\n "supplies-request-field",\n "validates",\n "writes",\n "writes-property"\n ],\n "type": "string"\n },\n "relation_id": {\n "pattern": "^jsrg_relation_[a-f0-9]{64}$",\n "type": "string"\n },\n "resolution": {\n "enum": [\n "resolved",\n "candidate"\n ],\n "type": "string"\n },\n "source_node_id": {\n "pattern": "^jsrg_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "target_node_id": {\n "pattern": "^jsrg_node_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "source_node_id",\n "target_node_id",\n "relation",\n "resolution",\n "properties",\n "evidence",\n "relation_id",\n "identifier_strategy"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "seed": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "semantic-node",\n "type": "string"\n },\n "node_id": {\n "pattern": "^jsrg_node_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "node_id"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "application-node",\n "type": "string"\n },\n "node_id": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "node_id"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "literal",\n "type": "string"\n },\n "value": {\n "$ref": "#/$defs/__schema0"\n }\n },\n "required": [\n "kind",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "fingerprint_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "kind": {\n "const": "function",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "fingerprint_sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "property",\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "name"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "endpoint",\n "type": "string"\n },\n "value": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "event",\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "name"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "field": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "boundary-field",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "field"\n ],\n "type": "object"\n }\n ]\n },\n "seed_node_ids": {\n "items": {\n "pattern": "^jsrg_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "source_evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "source_graph_id": {\n "pattern": "^jsrg_[a-f0-9]{64}$",\n "type": "string"\n },\n "status": {\n "enum": [\n "found",\n "no-match",\n "ambiguous",\n "partial",\n "unsupported"\n ],\n "type": "string"\n },\n "summary": {\n "additionalProperties": false,\n "properties": {\n "relevant_unknowns": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "total_seed_matches": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "traversed_functions": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "traversed_modules": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "traversed_nodes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "traversed_relations": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "total_seed_matches",\n "traversed_nodes",\n "traversed_relations",\n "traversed_functions",\n "traversed_modules",\n "relevant_unknowns"\n ],\n "type": "object"\n },\n "unknowns": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "candidate_node_ids": {\n "items": {\n "pattern": "^jsrg_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "artifact": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "artifact_id": {\n "pattern": "^art_[a-f0-9]{64}$",\n "type": "string"\n },\n "available": {\n "const": true,\n "type": "boolean"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "available",\n "artifact_id",\n "sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "enum": [\n "not-applicable",\n "not-observed",\n "truncated",\n "provider-unavailable",\n "unresolved",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason",\n "detail"\n ],\n "type": "object"\n }\n ]\n },\n "authority": {\n "enum": [\n "artifact-bytes",\n "ast-static-analysis",\n "static-relationship-inference",\n "passive-cdp-runtime",\n "cross-layer-reconciliation",\n "cross-version-comparison",\n "controlled-replay",\n "native-analysis-provider",\n "managed-static-analysis",\n "historical-reference",\n "user-assertion",\n "unknown"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "exact",\n "high",\n "medium",\n "low",\n "unknown"\n ],\n "type": "string"\n },\n "coverage": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "const": 0,\n "type": "number"\n },\n "status": {\n "const": "complete",\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "partial",\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "omitted_count": {\n "anyOf": [\n {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "partial",\n "type": "string"\n },\n "truncated": {\n "const": true,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "type": "null"\n },\n "status": {\n "enum": [\n "unknown",\n "unavailable"\n ],\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n }\n ]\n },\n "evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "extractor": {\n "additionalProperties": false,\n "properties": {\n "executable_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "version",\n "operation",\n "executable_sha256"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "location": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "value": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "line",\n "column"\n ],\n "type": "object"\n },\n "kind": {\n "const": "source-range",\n "type": "string"\n },\n "source": {\n "minLength": 1,\n "type": "string"\n },\n "start": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "line",\n "column"\n ],\n "type": "object"\n }\n },\n "required": [\n "kind",\n "source",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "url",\n "type": "string"\n },\n "url": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "url"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "capture_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "frame_key": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "kind": {\n "const": "runtime",\n "type": "string"\n },\n "script_key": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "target_key": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "capture_sha256",\n "target_key",\n "frame_key",\n "script_key"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "native-address",\n "type": "string"\n },\n "symbol": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "kind",\n "address",\n "symbol"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "export_path": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "package-export",\n "type": "string"\n },\n "package_name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "package_name",\n "export_path"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "available",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "enum": [\n "not-applicable",\n "not-observed",\n "truncated",\n "provider-unavailable",\n "unresolved",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason",\n "detail"\n ],\n "type": "object"\n }\n ]\n },\n "state": {\n "enum": [\n "observed",\n "inferred",\n "unknown",\n "unavailable"\n ],\n "type": "string"\n }\n },\n "required": [\n "authority",\n "state",\n "confidence",\n "artifact",\n "location",\n "extractor",\n "coverage",\n "limitations",\n "evidence_ids"\n ],\n "type": "object"\n },\n "family": {\n "enum": [\n "boundary",\n "call-flow",\n "child-process",\n "closure",\n "configuration",\n "data-flow",\n "event",\n "object-flow",\n "promise-ownership",\n "request",\n "resource-lifecycle",\n "timer"\n ],\n "type": "string"\n },\n "node_id": {\n "anyOf": [\n {\n "pattern": "^jsrg_node_[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "reason": {\n "enum": [\n "ambiguous-target",\n "bound-reached",\n "dynamic-call",\n "dynamic-property",\n "dynamic-scope",\n "eval-or-generated-code",\n "incomplete-module",\n "missing-source",\n "unsupported-syntax"\n ],\n "type": "string"\n },\n "relation_kinds": {\n "items": {\n "enum": [\n "acquires",\n "aggregates",\n "aliases",\n "argument-to-parameter",\n "awaits",\n "calls",\n "cancels-timer",\n "captures",\n "chains",\n "coerces",\n "connects-stdio",\n "consumed-by",\n "constructs-request",\n "creates-promise",\n "defaults",\n "defines",\n "destructures",\n "detaches-task",\n "dispatches-candidate",\n "forwards-signal",\n "listens-error",\n "listens-exit",\n "owns",\n "overrides",\n "parses",\n "reads",\n "reads-argv",\n "reads-config",\n "reads-environment",\n "reads-property",\n "registers-listener",\n "releases",\n "removes-listener",\n "returns-task",\n "returns-to-call",\n "schedules-timer",\n "spawns",\n "spreads",\n "supplies-argv",\n "supplies-env",\n "supplies-request-field",\n "validates",\n "writes",\n "writes-property"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "unknown_id": {\n "pattern": "^jsrg_unknown_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "node_id",\n "family",\n "relation_kinds",\n "reason",\n "detail",\n "candidate_node_ids",\n "evidence",\n "unknown_id"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "query_id",\n "source_graph_id",\n "seed",\n "direction",\n "status",\n "seed_node_ids",\n "nodes",\n "relations",\n "unknowns",\n "expected_match_node_ids",\n "summary",\n "coverage",\n "limitations",\n "source_evidence_id",\n "evidence_links"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Trace Javascript Semantics"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Compare two authenticated JavaScript Application Graph versions supplied as inline Evidence or exact same-session retained references. 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 the complete matching changed_from graph without fuzzy or module-ordinal pairing.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "left": {\n "authority": "shipped-artifact",\n "confidence": "derived",\n "environment": null,\n "evidence_id": "ev_a4ae2c7b5c501fb6dff695b168f35a6dd157fa957410910684f3a4ce4c8b5d54",\n "evidence_links": [],\n "limitations": [],\n "locations": [],\n "normalized_result": {\n "format": "directory",\n "graph": {\n "coverage": {\n "limits": [],\n "omitted_count": 0,\n "status": "complete",\n "truncated": false\n },\n "edges": [],\n "graph_id": "jag_ab15669664efc0a86bb49c9c60241913cce6980dc2293fbeef6d9c862ca01d9d",\n "limitations": [],\n "nodes": [\n {\n "identity": {\n "sha256": "c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64",\n "stability": "global-exact",\n "strategy": "content-digest"\n },\n "kind": "javascript-asset",\n "node_id": "jag_node_3c82da5492d90eb5b0bee41c1a994d88b7ba98c0b4955270d70e57a76e224c2e",\n "observations": [\n {\n "evidence": {\n "artifact": {\n "artifact_id": "art_c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64",\n "available": true,\n "sha256": "c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64"\n },\n "authority": "artifact-bytes",\n "confidence": "exact",\n "coverage": {\n "limits": [],\n "omitted_count": 0,\n "status": "complete",\n "truncated": false\n },\n "evidence_ids": [],\n "extractor": {\n "executable_sha256": null,\n "name": "rea-javascript-application",\n "operation": "inventory-relevant-file",\n "version": "1"\n },\n "limitations": [],\n "location": {\n "available": true,\n "value": {\n "kind": "artifact-path",\n "path": "renderer.js"\n }\n },\n "state": "observed"\n },\n "identifier_strategy": {\n "stability": "observation-exact",\n "strategy": "semantic-content-sha256"\n },\n "label": "renderer.js",\n "observation_id": "jag_observation_20b4d076ce370db14ae2b477915624c62e0c4a0c9e56803a2c5cb4fa60c16230",\n "properties": {\n "bytes": 29,\n "path": "renderer.js"\n }\n }\n ]\n }\n ],\n "root_node_ids": [\n "jag_node_3c82da5492d90eb5b0bee41c1a994d88b7ba98c0b4955270d70e57a76e224c2e"\n ],\n "schema": "JavaScriptApplicationGraph"\n },\n "input_path": "/Applications/Example.app/Contents/Resources/app",\n "inventory_graph_sha256": "3333333333333333333333333333333333333333333333333333333333333333",\n "inventory_manifest_id": "agm_2222222222222222222222222222222222222222222222222222222222222222",\n "limitations": [],\n "root_artifact_sha256": "1111111111111111111111111111111111111111111111111111111111111111",\n "semantic_graph": {\n "application_graph_id": "jag_ab15669664efc0a86bb49c9c60241913cce6980dc2293fbeef6d9c862ca01d9d",\n "coverage": {\n "families": [\n {\n "family": "boundary",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "call-flow",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "child-process",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "closure",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "configuration",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "data-flow",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "event",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "object-flow",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "promise-ownership",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "request",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "resource-lifecycle",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "timer",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n }\n ],\n "limits": [],\n "omitted_nodes": 0,\n "omitted_relations": 0,\n "status": "unknown",\n "truncated": false\n },\n "fingerprints": [],\n "graph_id": "jsrg_08c925d2bf4ef56d770e0e67901d5bdfb610744cf001a50d36c9bb6dcb195508",\n "limitations": [\n "Semantic relations are unavailable in this minimal example."\n ],\n "nodes": [\n {\n "application_node_ids": [\n "jag_node_3c82da5492d90eb5b0bee41c1a994d88b7ba98c0b4955270d70e57a76e224c2e"\n ],\n "evidence": {\n "artifact": {\n "artifact_id": "art_c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64",\n "available": true,\n "sha256": "c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64"\n },\n "authority": "artifact-bytes",\n "confidence": "exact",\n "coverage": {\n "limits": [],\n "omitted_count": 0,\n "status": "complete",\n "truncated": false\n },\n "evidence_ids": [],\n "extractor": {\n "executable_sha256": null,\n "name": "rea-javascript-application",\n "operation": "inventory-relevant-file",\n "version": "1"\n },\n "limitations": [],\n "location": {\n "available": true,\n "value": {\n "kind": "artifact-path",\n "path": "renderer.js"\n }\n },\n "state": "observed"\n },\n "function_node_id": null,\n "identifier_strategy": {\n "stability": "artifact-version",\n "strategy": "semantic-content-sha256"\n },\n "identity": {\n "artifact_sha256": "1111111111111111111111111111111111111111111111111111111111111111",\n "module_path": "renderer.js",\n "role_key": "example-module",\n "source_range": null\n },\n "kind": "module",\n "label": "renderer.js",\n "node_id": "jsrg_node_9476602f1f74433a2bd3dadb040a25734d203b8f831b31a8d96f7efdfc5cd66a",\n "properties": {}\n }\n ],\n "relations": [],\n "root_artifact_sha256": "1111111111111111111111111111111111111111111111111111111111111111",\n "root_node_ids": [\n "jsrg_node_9476602f1f74433a2bd3dadb040a25734d203b8f831b31a8d96f7efdfc5cd66a"\n ],\n "schema": "JavaScriptSemanticRelationGraph",\n "unknowns": []\n },\n "statistics": {\n "findings": 0,\n "invalid_utf8_files": 0,\n "modules": 0,\n "nested_asar_containers": 0,\n "parse_failures": 0,\n "parsed_javascript_files": 1,\n "relevant_files": 1,\n "text_bytes_read": 29,\n "truncated_scopes": 0,\n "visited_ast_nodes": 1\n },\n "summary": {\n "browser_windows": 0,\n "context_bridge_apis": 0,\n "explicit_web_preferences": 0,\n "exposed_api_members": 0,\n "ipc": {\n "ambiguous_renderer_transmissions": 0,\n "dynamic_channel_operations": 0,\n "literal_channels": 0,\n "main_handlers": 0,\n "operations": 0,\n "paired_renderer_transmissions": 0,\n "renderer_listeners": 0,\n "renderer_transmissions": 0,\n "unpaired_literal_renderer_transmissions": 0\n },\n "native_addon_bindings": 0,\n "preload_entrypoints": 0,\n "resolved_native_addon_bindings": 0,\n "resolved_utility_entrypoints": 0,\n "sender_validation_observations": 0,\n "utility_processes": 0\n }\n },\n "operation": "analyze_javascript_application",\n "parameters": {},\n "predicate_type": "rea.javascript-application-analysis",\n "provider": {\n "id": "rea-javascript-application",\n "name": "REA JavaScript application analyzer",\n "version": "1"\n },\n "raw_result": null,\n "subject": {\n "architecture": null,\n "digest": {\n "sha256": "1111111111111111111111111111111111111111111111111111111111111111"\n },\n "format": "directory",\n "local_path": "/Applications/Example.app/Contents/Resources/app",\n "name": "app"\n }\n },\n "right": {\n "authority": "analyst-inference",\n "confidence": "inferred",\n "environment": null,\n "evidence_id": "ev_c2754cf75e286b839ed825f247062067a6472acb1e7b6ce0f9aaceec6448d6d7",\n "evidence_links": [\n "ev_a42606ee799a093832ad3d6cfd0edd50dc9b99f78cc6d5d9130b734d48a56b4e",\n "ev_a4ae2c7b5c501fb6dff695b168f35a6dd157fa957410910684f3a4ce4c8b5d54"\n ],\n "limitations": [\n "Artifact identity is unavailable for this observation.",\n "A static module resident in an observed bundle is not reported as executed.",\n "Caller-declared file and URL mappings are inference inputs and do not expand CDP origin or filesystem-root authority.",\n "Digest equality establishes byte identity but not code reachability, module initialization, or feature execution.",\n "Not-observed means absent from the bounded captures in scope, never globally unloaded.",\n "Only caller-supplied, semantically verified Evidence records were reconciled.",\n "Source-map authority remains separate from passive runtime authority."\n ],\n "locations": [],\n "normalized_result": {\n "coverage": {\n "omitted_graph_items": 0,\n "omitted_reconciliation_items": 0,\n "omitted_runtime_entities": 0,\n "omitted_static_load_states": 0,\n "status": "complete-within-inputs",\n "truncated": false\n },\n "evidence_links": [\n "ev_a42606ee799a093832ad3d6cfd0edd50dc9b99f78cc6d5d9130b734d48a56b4e",\n "ev_a4ae2c7b5c501fb6dff695b168f35a6dd157fa957410910684f3a4ce4c8b5d54"\n ],\n "graph": {\n "coverage": {\n "limits": [],\n "omitted_count": 0,\n "status": "complete",\n "truncated": false\n },\n "edges": [\n {\n "edge_id": "jag_edge_3799eb1c2b0f224013a0edba8911a8b9edabd5fa6da2f893a6cfa24a899c9463",\n "evidence": {\n "artifact": {\n "artifact_id": "art_c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64",\n "available": true,\n "sha256": "c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64"\n },\n "authority": "cross-layer-reconciliation",\n "confidence": "high",\n "coverage": {\n "limits": [],\n "omitted_count": 0,\n "status": "complete",\n "truncated": false\n },\n "evidence_ids": [\n "ev_a42606ee799a093832ad3d6cfd0edd50dc9b99f78cc6d5d9130b734d48a56b4e",\n "ev_a4ae2c7b5c501fb6dff695b168f35a6dd157fa957410910684f3a4ce4c8b5d54"\n ],\n "extractor": {\n "executable_sha256": null,\n "name": "rea-javascript-runtime-reconciliation",\n "operation": "reconcile_javascript_runtime",\n "version": "1"\n },\n "limitations": [\n "Equal content digests establish byte identity, not execution causality.",\n "Passive script parsing or target presence does not prove feature execution."\n ],\n "location": {\n "available": true,\n "value": {\n "capture_sha256": "a4dd260f01b45e3df92482755baed7a1922b4af2226edc7f896bdbc4d2bbbd9c",\n "frame_key": null,\n "kind": "runtime",\n "script_key": "electron_script_4444444444444444444444444444444444444444444444444444444444444444",\n "target_key": "example-target"\n }\n },\n "state": "inferred"\n },\n "identifier_strategy": {\n "stability": "relationship-exact",\n "strategy": "semantic-content-sha256"\n },\n "properties": {\n "basis": "content-and-location",\n "reconciliation_id": "jrr_item_ea9d751c4bf3a2234af56b80d5ac8a1f953da9a9477cd46586a62934ff4a5fb2",\n "static_layer_id": "jrl_96fcfc590e7ca88f94b602638421674d8b13ccc7d25efff15a15b03c33b34753"\n },\n "relation": "observed_as",\n "source_node_id": "jag_node_3c82da5492d90eb5b0bee41c1a994d88b7ba98c0b4955270d70e57a76e224c2e",\n "target_node_id": "jag_node_af8ea5d1909955f39da1d844b2cad8f2f68c34b7d575ded6d04c00fa4095a88e"\n },\n {\n "edge_id": "jag_edge_f3c06b02c5ac77056b5d2a9f8de834ea0a9123b01dc369a011e3adc4a535338b",\n "evidence": {\n "artifact": {\n "available": false,\n "detail": "The relationship is runtime metadata, not standalone bytes.",\n "reason": "not-applicable"\n },\n "authority": "passive-cdp-runtime",\n "confidence": "exact",\n "coverage": {\n "limits": [],\n "omitted_count": 0,\n "status": "complete",\n "truncated": false\n },\n "evidence_ids": [\n "ev_a42606ee799a093832ad3d6cfd0edd50dc9b99f78cc6d5d9130b734d48a56b4e"\n ],\n "extractor": {\n "executable_sha256": null,\n "name": "rea-cdp-electron",\n "operation": "inspect_electron_page",\n "version": "1"\n },\n "limitations": [\n "The relationship was observed only within one bounded passive CDP capture."\n ],\n "location": {\n "available": true,\n "value": {\n "capture_sha256": "a4dd260f01b45e3df92482755baed7a1922b4af2226edc7f896bdbc4d2bbbd9c",\n "frame_key": null,\n "kind": "runtime",\n "script_key": "electron_script_4444444444444444444444444444444444444444444444444444444444444444",\n "target_key": "example-target"\n }\n },\n "state": "observed"\n },\n "identifier_strategy": {\n "stability": "relationship-exact",\n "strategy": "semantic-content-sha256"\n },\n "properties": {\n "basis": "passive-cdp-observation"\n },\n "relation": "loads",\n "source_node_id": "jag_node_f360c35c86d4893fcf83ef0fdef92cebd688fba883aa39698a1c12dd5a237265",\n "target_node_id": "jag_node_af8ea5d1909955f39da1d844b2cad8f2f68c34b7d575ded6d04c00fa4095a88e"\n }\n ],\n "graph_id": "jag_0536a9584eb91a16f78f71e8bef4cffc3105df18098fe65a7b114add520203ca",\n "limitations": [\n "Cross-layer observed_as edges are inferences; digest equality proves byte identity only.",\n "Runtime presence is bounded to passive capture windows and does not prove feature execution.",\n "Source-map relationships retain their original static authority and are not promoted into runtime matches."\n ],\n "nodes": [\n {\n "identity": {\n "sha256": "c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64",\n "stability": "global-exact",\n "strategy": "content-digest"\n },\n "kind": "javascript-asset",\n "node_id": "jag_node_3c82da5492d90eb5b0bee41c1a994d88b7ba98c0b4955270d70e57a76e224c2e",\n "observations": [\n {\n "evidence": {\n "artifact": {\n "artifact_id": "art_c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64",\n "available": true,\n "sha256": "c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64"\n },\n "authority": "artifact-bytes",\n "confidence": "exact",\n "coverage": {\n "limits": [],\n "omitted_count": 0,\n "status": "complete",\n "truncated": false\n },\n "evidence_ids": [],\n "extractor": {\n "executable_sha256": null,\n "name": "rea-javascript-application",\n "operation": "inventory-relevant-file",\n "version": "1"\n },\n "limitations": [],\n "location": {\n "available": true,\n "value": {\n "kind": "artifact-path",\n "path": "renderer.js"\n }\n },\n "state": "observed"\n },\n "identifier_strategy": {\n "stability": "observation-exact",\n "strategy": "semantic-content-sha256"\n },\n "label": "renderer.js",\n "observation_id": "jag_observation_20b4d076ce370db14ae2b477915624c62e0c4a0c9e56803a2c5cb4fa60c16230",\n "properties": {\n "bytes": 29,\n "path": "renderer.js"\n }\n }\n ]\n },\n {\n "identity": {\n "capture_sha256": "a4dd260f01b45e3df92482755baed7a1922b4af2226edc7f896bdbc4d2bbbd9c",\n "runtime_key": "electron_script_4444444444444444444444444444444444444444444444444444444444444444",\n "stability": "capture-only",\n "strategy": "runtime-instance"\n },\n "kind": "runtime-script-instance",\n "node_id": "jag_node_af8ea5d1909955f39da1d844b2cad8f2f68c34b7d575ded6d04c00fa4095a88e",\n "observations": [\n {\n "evidence": {\n "artifact": {\n "artifact_id": "art_c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64",\n "available": true,\n "sha256": "c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64"\n },\n "authority": "passive-cdp-runtime",\n "confidence": "exact",\n "coverage": {\n "limits": [],\n "omitted_count": 0,\n "status": "complete",\n "truncated": false\n },\n "evidence_ids": [\n "ev_a42606ee799a093832ad3d6cfd0edd50dc9b99f78cc6d5d9130b734d48a56b4e"\n ],\n "extractor": {\n "executable_sha256": null,\n "name": "rea-cdp-electron",\n "operation": "inspect_electron_page",\n "version": "1"\n },\n "limitations": [\n "The entity was observed only within one bounded passive CDP capture."\n ],\n "location": {\n "available": true,\n "value": {\n "capture_sha256": "a4dd260f01b45e3df92482755baed7a1922b4af2226edc7f896bdbc4d2bbbd9c",\n "frame_key": null,\n "kind": "runtime",\n "script_key": "electron_script_4444444444444444444444444444444444444444444444444444444444444444",\n "target_key": "example-target"\n }\n },\n "state": "observed"\n },\n "identifier_strategy": {\n "stability": "observation-exact",\n "strategy": "semantic-content-sha256"\n },\n "label": "/Applications/Example.app/Contents/Resources/app/renderer.js",\n "observation_id": "jag_observation_9315403b875ea70c310909daf797780ab9045ff8f4803db38a9184e4f0704f11",\n "properties": {\n "cdp_hash": "example",\n "is_module": true,\n "language": "JavaScript",\n "length": 29,\n "location": "/Applications/Example.app/Contents/Resources/app/renderer.js",\n "source_sha256": "c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64"\n }\n }\n ]\n },\n {\n "identity": {\n "capture_sha256": "a4dd260f01b45e3df92482755baed7a1922b4af2226edc7f896bdbc4d2bbbd9c",\n "runtime_key": "example-target",\n "stability": "capture-only",\n "strategy": "runtime-instance"\n },\n "kind": "target",\n "node_id": "jag_node_f360c35c86d4893fcf83ef0fdef92cebd688fba883aa39698a1c12dd5a237265",\n "observations": [\n {\n "evidence": {\n "artifact": {\n "available": false,\n "detail": "This runtime entity has no standalone artifact bytes.",\n "reason": "not-applicable"\n },\n "authority": "passive-cdp-runtime",\n "confidence": "exact",\n "coverage": {\n "limits": [],\n "omitted_count": 0,\n "status": "complete",\n "truncated": false\n },\n "evidence_ids": [\n "ev_a42606ee799a093832ad3d6cfd0edd50dc9b99f78cc6d5d9130b734d48a56b4e"\n ],\n "extractor": {\n "executable_sha256": null,\n "name": "rea-cdp-electron",\n "operation": "inspect_electron_page",\n "version": "1"\n },\n "limitations": [\n "The entity was observed only within one bounded passive CDP capture."\n ],\n "location": {\n "available": true,\n "value": {\n "capture_sha256": "a4dd260f01b45e3df92482755baed7a1922b4af2226edc7f896bdbc4d2bbbd9c",\n "frame_key": null,\n "kind": "runtime",\n "script_key": null,\n "target_key": "example-target"\n }\n },\n "state": "observed"\n },\n "identifier_strategy": {\n "stability": "observation-exact",\n "strategy": "semantic-content-sha256"\n },\n "label": "Example",\n "observation_id": "jag_observation_844a03a29af96a0bcd4625e0377b67c439af68a462c5fa83009c7c27283c5dee",\n "properties": {\n "attached": false,\n "location": "/Applications/Example.app/Contents/Resources/app/index.html",\n "runtime_type": "page"\n }\n }\n ]\n }\n ],\n "root_node_ids": [\n "jag_node_3c82da5492d90eb5b0bee41c1a994d88b7ba98c0b4955270d70e57a76e224c2e",\n "jag_node_f360c35c86d4893fcf83ef0fdef92cebd688fba883aa39698a1c12dd5a237265"\n ],\n "schema": "JavaScriptApplicationGraph"\n },\n "limitations": [\n "A static module resident in an observed bundle is not reported as executed.",\n "Caller-declared file and URL mappings are inference inputs and do not expand CDP origin or filesystem-root authority.",\n "Digest equality establishes byte identity but not code reachability, module initialization, or feature execution.",\n "Not-observed means absent from the bounded captures in scope, never globally unloaded.",\n "Only caller-supplied, semantically verified Evidence records were reconciled.",\n "Source-map authority remains separate from passive runtime authority."\n ],\n "reconciliation_id": "jrr_ec50425a5a5a5cb85aa40f13f72dcba54a8ab16170d9421a0277fbdf0fa4c9eb",\n "reconciliations": [\n {\n "basis": "none",\n "candidate_static_count": 0,\n "candidate_static_nodes": [],\n "confidence": "unknown",\n "entity_kind": "target",\n "reason": "no-static-content-match",\n "reconciliation_id": "jrr_item_abd5635b06340f082ef46bff8802a361c7b30011085f1c9e7437b29b451c1e5e",\n "runtime_evidence_id": "ev_a42606ee799a093832ad3d6cfd0edd50dc9b99f78cc6d5d9130b734d48a56b4e",\n "runtime_node_id": "jag_node_f360c35c86d4893fcf83ef0fdef92cebd688fba883aa39698a1c12dd5a237265",\n "static_layer_id": null,\n "static_node_id": null,\n "status": "unmatched"\n },\n {\n "basis": "content-and-location",\n "candidate_static_count": 1,\n "candidate_static_nodes": [\n {\n "static_layer_id": "jrl_96fcfc590e7ca88f94b602638421674d8b13ccc7d25efff15a15b03c33b34753",\n "static_node_id": "jag_node_3c82da5492d90eb5b0bee41c1a994d88b7ba98c0b4955270d70e57a76e224c2e"\n }\n ],\n "confidence": "high",\n "entity_kind": "script",\n "reason": "content-and-location-match",\n "reconciliation_id": "jrr_item_ea9d751c4bf3a2234af56b80d5ac8a1f953da9a9477cd46586a62934ff4a5fb2",\n "runtime_evidence_id": "ev_a42606ee799a093832ad3d6cfd0edd50dc9b99f78cc6d5d9130b734d48a56b4e",\n "runtime_node_id": "jag_node_af8ea5d1909955f39da1d844b2cad8f2f68c34b7d575ded6d04c00fa4095a88e",\n "static_layer_id": "jrl_96fcfc590e7ca88f94b602638421674d8b13ccc7d25efff15a15b03c33b34753",\n "static_node_id": "jag_node_3c82da5492d90eb5b0bee41c1a994d88b7ba98c0b4955270d70e57a76e224c2e",\n "status": "matched"\n }\n ],\n "runtime_captures": [\n {\n "capture_sha256": "a4dd260f01b45e3df92482755baed7a1922b4af2226edc7f896bdbc4d2bbbd9c",\n "evidence_id": "ev_a42606ee799a093832ad3d6cfd0edd50dc9b99f78cc6d5d9130b734d48a56b4e",\n "frames": 0,\n "kind": "electron",\n "scripts": 1,\n "scripts_complete_within_scope": true,\n "target_key": "example-target",\n "target_location": "/Applications/Example.app/Contents/Resources/app/index.html",\n "target_node_id": "jag_node_f360c35c86d4893fcf83ef0fdef92cebd688fba883aa39698a1c12dd5a237265",\n "workers": 0\n }\n ],\n "source_map_authority": {\n "limitation": "Source-map declarations and original-source content retain separate static authority and are not used as primary runtime byte matches.",\n "runtime_script_declarations": 0,\n "static_layer_count": 1,\n "used_for_primary_matching": false\n },\n "static_layers": [\n {\n "evidence_id": "ev_a4ae2c7b5c501fb6dff695b168f35a6dd157fa957410910684f3a4ce4c8b5d54",\n "format": "directory",\n "graph_id": "jag_ab15669664efc0a86bb49c9c60241913cce6980dc2293fbeef6d9c862ca01d9d",\n "input_path": "/Applications/Example.app/Contents/Resources/app",\n "layer_id": "jrl_96fcfc590e7ca88f94b602638421674d8b13ccc7d25efff15a15b03c33b34753",\n "role": "application",\n "root_artifact_sha256": "1111111111111111111111111111111111111111111111111111111111111111",\n "runtime_mappings": []\n }\n ],\n "static_load_states": [\n {\n "kind": "javascript-asset",\n "reason": "runtime-script-correspondence",\n "runtime_node_ids": [\n "jag_node_af8ea5d1909955f39da1d844b2cad8f2f68c34b7d575ded6d04c00fa4095a88e"\n ],\n "static_layer_id": "jrl_96fcfc590e7ca88f94b602638421674d8b13ccc7d25efff15a15b03c33b34753",\n "static_node_id": "jag_node_3c82da5492d90eb5b0bee41c1a994d88b7ba98c0b4955270d70e57a76e224c2e",\n "status": "loaded"\n }\n ],\n "summary": {\n "ambiguous": 0,\n "matched": 1,\n "runtime_frames": 0,\n "runtime_scripts": 1,\n "runtime_targets": 1,\n "runtime_workers": 0,\n "static_loaded": 1,\n "static_not_observed": 0,\n "static_resident": 0,\n "static_unknown": 0,\n "unknown": 0,\n "unmatched": 1\n }\n },\n "operation": "reconcile_javascript_runtime",\n "parameters": {\n "runtime_evidence_ids": [\n "ev_a42606ee799a093832ad3d6cfd0edd50dc9b99f78cc6d5d9130b734d48a56b4e"\n ],\n "static_layers": [\n {\n "evidence_id": "ev_a4ae2c7b5c501fb6dff695b168f35a6dd157fa957410910684f3a4ce4c8b5d54",\n "role": "application",\n "runtime_mappings": []\n }\n ]\n },\n "predicate_type": "rea.javascript-runtime-reconciliation",\n "provider": {\n "id": "rea-javascript-runtime-reconciliation",\n "name": "REA JavaScript runtime reconciliation",\n "version": "1"\n },\n "raw_result": null,\n "subject": null\n }\n },\n {\n "left": {\n "evidence_id": "ev_a4ae2c7b5c501fb6dff695b168f35a6dd157fa957410910684f3a4ce4c8b5d54",\n "kind": "retained-evidence"\n },\n "right": {\n "evidence_id": "ev_c2754cf75e286b839ed825f247062067a6472acb1e7b6ce0f9aaceec6448d6d7",\n "kind": "retained-evidence"\n }\n }\n ],\n "properties": {\n "left": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "description": "Value for analysis profile.",\n "properties": {\n "digest": {\n "description": "Value for digest.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "description": "Value for version.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "description": "Value for authority.",\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "description": "Value for confidence.",\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "description": "Value for architecture.",\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "description": "Value for isolation.",\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "description": "Value for platform.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for environment."\n },\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "description": "Value for evidence links.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "description": "Value for locations.",\n "items": {\n "oneOf": [\n {\n "properties": {\n "address": {\n "description": "Value for address.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "artifact-path",\n "description": "Value for kind.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "file-offset",\n "description": "Value for kind.",\n "type": "string"\n },\n "offset": {\n "description": "Value for offset.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0",\n "description": "Value for normalized result."\n },\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "description": "Value for predicate type.",\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for version."\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for raw result."\n },\n "subject": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "digest": {\n "description": "Value for digest.",\n "properties": {\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "description": "Declared input artifact format.",\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "description": "Local filesystem path for local.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for subject."\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "kind": {\n "const": "retained-evidence",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "evidence_id"\n ],\n "type": "object"\n }\n ],\n "description": "Left-hand input used for comparison or differential execution."\n },\n "left_native_observations": {\n "default": [],\n "description": "Value for left native observations.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "description": "Value for analysis profile.",\n "properties": {\n "digest": {\n "description": "Value for digest.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "description": "Value for version.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "description": "Value for authority.",\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "description": "Value for confidence.",\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "description": "Value for architecture.",\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "description": "Value for isolation.",\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "description": "Value for platform.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for environment."\n },\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "description": "Value for evidence links.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "description": "Value for locations.",\n "items": {\n "oneOf": [\n {\n "properties": {\n "address": {\n "description": "Value for address.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "artifact-path",\n "description": "Value for kind.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "file-offset",\n "description": "Value for kind.",\n "type": "string"\n },\n "offset": {\n "description": "Value for offset.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0",\n "description": "Value for normalized result."\n },\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "description": "Value for predicate type.",\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for version."\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for raw result."\n },\n "subject": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "digest": {\n "description": "Value for digest.",\n "properties": {\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "description": "Declared input artifact format.",\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "description": "Local filesystem path for local.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for subject."\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "right": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "description": "Value for analysis profile.",\n "properties": {\n "digest": {\n "description": "Value for digest.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "description": "Value for version.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "description": "Value for authority.",\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "description": "Value for confidence.",\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "description": "Value for architecture.",\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "description": "Value for isolation.",\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "description": "Value for platform.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for environment."\n },\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "description": "Value for evidence links.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "description": "Value for locations.",\n "items": {\n "oneOf": [\n {\n "properties": {\n "address": {\n "description": "Value for address.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "artifact-path",\n "description": "Value for kind.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "file-offset",\n "description": "Value for kind.",\n "type": "string"\n },\n "offset": {\n "description": "Value for offset.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0",\n "description": "Value for normalized result."\n },\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "description": "Value for predicate type.",\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for version."\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for raw result."\n },\n "subject": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "digest": {\n "description": "Value for digest.",\n "properties": {\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "description": "Declared input artifact format.",\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "description": "Local filesystem path for local.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for subject."\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "kind": {\n "const": "retained-evidence",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "evidence_id"\n ],\n "type": "object"\n }\n ],\n "description": "Right-hand input used for comparison or differential execution."\n },\n "right_native_observations": {\n "default": [],\n "description": "Value for right native observations.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "description": "Value for analysis profile.",\n "properties": {\n "digest": {\n "description": "Value for digest.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "description": "Value for version.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "description": "Value for authority.",\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "description": "Value for confidence.",\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "description": "Value for architecture.",\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "description": "Value for isolation.",\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "description": "Value for platform.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for environment."\n },\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "description": "Value for evidence links.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "description": "Value for locations.",\n "items": {\n "oneOf": [\n {\n "properties": {\n "address": {\n "description": "Value for address.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "artifact-path",\n "description": "Value for kind.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "file-offset",\n "description": "Value for kind.",\n "type": "string"\n },\n "offset": {\n "description": "Value for offset.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0",\n "description": "Value for normalized result."\n },\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "description": "Value for predicate type.",\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for version."\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for raw result."\n },\n "subject": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "digest": {\n "description": "Value for digest.",\n "properties": {\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "description": "Declared input artifact format.",\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "description": "Local filesystem path for local.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for subject."\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "left",\n "right"\n ],\n "type": "object"\n },\n "kind": "application",\n "name": "compare_application_versions",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "comparison_id": {\n "pattern": "^javc_[a-f0-9]{64}$",\n "type": "string"\n },\n "coverage": {\n "additionalProperties": false,\n "properties": {\n "left_graph_omitted_count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "left_graph_status": {\n "enum": [\n "complete",\n "partial",\n "unknown",\n "unavailable"\n ],\n "type": "string"\n },\n "right_graph_omitted_count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "right_graph_status": {\n "enum": [\n "complete",\n "partial",\n "unknown",\n "unavailable"\n ],\n "type": "string"\n },\n "status": {\n "enum": [\n "complete-within-inputs",\n "partial",\n "truncated"\n ],\n "type": "string"\n }\n },\n "required": [\n "left_graph_status",\n "right_graph_status",\n "left_graph_omitted_count",\n "right_graph_omitted_count",\n "status"\n ],\n "type": "object"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 2,\n "type": "array"\n },\n "graph": {\n "additionalProperties": false,\n "properties": {\n "coverage": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "const": 0,\n "type": "number"\n },\n "status": {\n "const": "complete",\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "partial",\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "omitted_count": {\n "anyOf": [\n {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "partial",\n "type": "string"\n },\n "truncated": {\n "const": true,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "type": "null"\n },\n "status": {\n "enum": [\n "unknown",\n "unavailable"\n ],\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n }\n ]\n },\n "edges": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "edge_id": {\n "pattern": "^jag_edge_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "artifact": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "artifact_id": {\n "pattern": "^art_[a-f0-9]{64}$",\n "type": "string"\n },\n "available": {\n "const": true,\n "type": "boolean"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "available",\n "artifact_id",\n "sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "enum": [\n "not-applicable",\n "not-observed",\n "truncated",\n "provider-unavailable",\n "unresolved",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason",\n "detail"\n ],\n "type": "object"\n }\n ]\n },\n "authority": {\n "enum": [\n "artifact-bytes",\n "ast-static-analysis",\n "static-relationship-inference",\n "passive-cdp-runtime",\n "cross-layer-reconciliation",\n "cross-version-comparison",\n "controlled-replay",\n "native-analysis-provider",\n "managed-static-analysis",\n "historical-reference",\n "user-assertion",\n "unknown"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "exact",\n "high",\n "medium",\n "low",\n "unknown"\n ],\n "type": "string"\n },\n "coverage": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "const": 0,\n "type": "number"\n },\n "status": {\n "const": "complete",\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "partial",\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "omitted_count": {\n "anyOf": [\n {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "partial",\n "type": "string"\n },\n "truncated": {\n "const": true,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "type": "null"\n },\n "status": {\n "enum": [\n "unknown",\n "unavailable"\n ],\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n }\n ]\n },\n "evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "extractor": {\n "additionalProperties": false,\n "properties": {\n "executable_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "version",\n "operation",\n "executable_sha256"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "location": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "value": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "line",\n "column"\n ],\n "type": "object"\n },\n "kind": {\n "const": "source-range",\n "type": "string"\n },\n "source": {\n "minLength": 1,\n "type": "string"\n },\n "start": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "line",\n "column"\n ],\n "type": "object"\n }\n },\n "required": [\n "kind",\n "source",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "url",\n "type": "string"\n },\n "url": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "url"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "capture_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "frame_key": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "kind": {\n "const": "runtime",\n "type": "string"\n },\n "script_key": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "target_key": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "capture_sha256",\n "target_key",\n "frame_key",\n "script_key"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "native-address",\n "type": "string"\n },\n "symbol": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "kind",\n "address",\n "symbol"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "export_path": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "package-export",\n "type": "string"\n },\n "package_name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "package_name",\n "export_path"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "available",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "enum": [\n "not-applicable",\n "not-observed",\n "truncated",\n "provider-unavailable",\n "unresolved",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason",\n "detail"\n ],\n "type": "object"\n }\n ]\n },\n "state": {\n "enum": [\n "observed",\n "inferred",\n "unknown",\n "unavailable"\n ],\n "type": "string"\n }\n },\n "required": [\n "authority",\n "state",\n "confidence",\n "artifact",\n "location",\n "extractor",\n "coverage",\n "limitations",\n "evidence_ids"\n ],\n "type": "object"\n },\n "identifier_strategy": {\n "additionalProperties": false,\n "properties": {\n "stability": {\n "const": "relationship-exact",\n "type": "string"\n },\n "strategy": {\n "const": "semantic-content-sha256",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability"\n ],\n "type": "object"\n },\n "properties": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "minLength": 1,\n "type": "string"\n },\n "type": "object"\n },\n "relation": {\n "enum": [\n "contains",\n "loads",\n "imports",\n "maps_to",\n "exposes",\n "sends",\n "invokes",\n "handles",\n "calls",\n "persists_to",\n "observed_as",\n "changed_from"\n ],\n "type": "string"\n },\n "source_node_id": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "target_node_id": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "source_node_id",\n "target_node_id",\n "relation",\n "properties",\n "evidence",\n "edge_id",\n "identifier_strategy"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "graph_id": {\n "pattern": "^jag_[a-f0-9]{64}$",\n "type": "string"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "nodes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "identity": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "stability": {\n "const": "global-exact",\n "type": "string"\n },\n "strategy": {\n "const": "content-digest",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability",\n "sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "original_source": {\n "type": "string"\n },\n "source_map_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "source_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "stability": {\n "const": "source-map-exact",\n "type": "string"\n },\n "strategy": {\n "const": "source-map-original",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability",\n "source_map_sha256",\n "original_source",\n "source_sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "artifact_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n },\n "stability": {\n "const": "artifact-version",\n "type": "string"\n },\n "strategy": {\n "const": "canonical-path",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability",\n "artifact_sha256",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "algorithm": {\n "minLength": 1,\n "type": "string"\n },\n "basis": {\n "items": {\n "enum": [\n "syntax-tree",\n "control-flow",\n "imports",\n "exports",\n "literals",\n "api-usage"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "fingerprint_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "stability": {\n "const": "cross-version-inference",\n "type": "string"\n },\n "strategy": {\n "const": "structural-fingerprint",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability",\n "algorithm",\n "fingerprint_sha256",\n "basis"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "artifact_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "key": {\n "type": "string"\n },\n "namespace": {\n "minLength": 1,\n "type": "string"\n },\n "stability": {\n "const": "artifact-version",\n "type": "string"\n },\n "strategy": {\n "const": "artifact-local-key",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability",\n "artifact_sha256",\n "namespace",\n "key"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "capture_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "runtime_key": {\n "minLength": 1,\n "type": "string"\n },\n "stability": {\n "const": "capture-only",\n "type": "string"\n },\n "strategy": {\n "const": "runtime-instance",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability",\n "capture_sha256",\n "runtime_key"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "observation_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "scope": {\n "minLength": 1,\n "type": "string"\n },\n "stability": {\n "const": "observation-only",\n "type": "string"\n },\n "strategy": {\n "const": "observation-fingerprint",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability",\n "observation_sha256",\n "scope"\n ],\n "type": "object"\n }\n ]\n },\n "kind": {\n "enum": [\n "package",\n "installer",\n "artifact",\n "asar-entry",\n "electron-main",\n "electron-preload",\n "electron-renderer",\n "electron-utility",\n "javascript-asset",\n "javascript-chunk",\n "javascript-module",\n "source-map",\n "source-module",\n "browser-window",\n "frame",\n "target",\n "context-bridge-api",\n "ipc-channel",\n "ipc-handler",\n "worker",\n "service-worker",\n "endpoint",\n "storage",\n "native-addon",\n "native-export",\n "managed-assembly",\n "managed-module",\n "managed-type",\n "managed-method",\n "managed-field",\n "managed-pinvoke-import",\n "managed-native-implementation",\n "runtime-script-instance",\n "unknown"\n ],\n "type": "string"\n },\n "node_id": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "observations": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "artifact": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "artifact_id": {\n "pattern": "^art_[a-f0-9]{64}$",\n "type": "string"\n },\n "available": {\n "const": true,\n "type": "boolean"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "available",\n "artifact_id",\n "sha256"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "enum": [\n "not-applicable",\n "not-observed",\n "truncated",\n "provider-unavailable",\n "unresolved",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason",\n "detail"\n ],\n "type": "object"\n }\n ]\n },\n "authority": {\n "enum": [\n "artifact-bytes",\n "ast-static-analysis",\n "static-relationship-inference",\n "passive-cdp-runtime",\n "cross-layer-reconciliation",\n "cross-version-comparison",\n "controlled-replay",\n "native-analysis-provider",\n "managed-static-analysis",\n "historical-reference",\n "user-assertion",\n "unknown"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "exact",\n "high",\n "medium",\n "low",\n "unknown"\n ],\n "type": "string"\n },\n "coverage": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "const": 0,\n "type": "number"\n },\n "status": {\n "const": "complete",\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "partial",\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "omitted_count": {\n "anyOf": [\n {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "partial",\n "type": "string"\n },\n "truncated": {\n "const": true,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "limits": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "unit": {\n "enum": [\n "items",\n "bytes",\n "milliseconds",\n "depth",\n "characters",\n "instructions",\n "other"\n ],\n "type": "string"\n },\n "value": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "name",\n "value",\n "unit"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "omitted_count": {\n "type": "null"\n },\n "status": {\n "enum": [\n "unknown",\n "unavailable"\n ],\n "type": "string"\n },\n "truncated": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "status",\n "truncated",\n "omitted_count",\n "limits"\n ],\n "type": "object"\n }\n ]\n },\n "evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "extractor": {\n "additionalProperties": false,\n "properties": {\n "executable_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "version",\n "operation",\n "executable_sha256"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "location": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "value": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "line",\n "column"\n ],\n "type": "object"\n },\n "kind": {\n "const": "source-range",\n "type": "string"\n },\n "source": {\n "minLength": 1,\n "type": "string"\n },\n "start": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "line",\n "column"\n ],\n "type": "object"\n }\n },\n "required": [\n "kind",\n "source",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "url",\n "type": "string"\n },\n "url": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "url"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "capture_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "frame_key": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "kind": {\n "const": "runtime",\n "type": "string"\n },\n "script_key": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "target_key": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "capture_sha256",\n "target_key",\n "frame_key",\n "script_key"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "native-address",\n "type": "string"\n },\n "symbol": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "kind",\n "address",\n "symbol"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "export_path": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "package-export",\n "type": "string"\n },\n "package_name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "package_name",\n "export_path"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "available",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "enum": [\n "not-applicable",\n "not-observed",\n "truncated",\n "provider-unavailable",\n "unresolved",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "available",\n "reason",\n "detail"\n ],\n "type": "object"\n }\n ]\n },\n "state": {\n "enum": [\n "observed",\n "inferred",\n "unknown",\n "unavailable"\n ],\n "type": "string"\n }\n },\n "required": [\n "authority",\n "state",\n "confidence",\n "artifact",\n "location",\n "extractor",\n "coverage",\n "limitations",\n "evidence_ids"\n ],\n "type": "object"\n },\n "identifier_strategy": {\n "additionalProperties": false,\n "properties": {\n "stability": {\n "const": "observation-exact",\n "type": "string"\n },\n "strategy": {\n "const": "semantic-content-sha256",\n "type": "string"\n }\n },\n "required": [\n "strategy",\n "stability"\n ],\n "type": "object"\n },\n "label": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "observation_id": {\n "pattern": "^jag_observation_[a-f0-9]{64}$",\n "type": "string"\n },\n "properties": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "minLength": 1,\n "type": "string"\n },\n "type": "object"\n }\n },\n "required": [\n "label",\n "properties",\n "evidence",\n "observation_id",\n "identifier_strategy"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "node_id",\n "kind",\n "identity",\n "observations"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "root_node_ids": {\n "items": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "schema": {\n "const": "JavaScriptApplicationGraph",\n "type": "string"\n }\n },\n "required": [\n "schema",\n "root_node_ids",\n "nodes",\n "edges",\n "coverage",\n "limitations",\n "graph_id"\n ],\n "type": "object"\n },\n "items": {\n "items": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "dimensions": {\n "items": {\n "enum": [\n "content",\n "location",\n "properties",\n "relationships",\n "availability",\n "coverage"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 2,\n "type": "array"\n },\n "item_id": {\n "pattern": "^javc_item_[a-f0-9]{64}$",\n "type": "string"\n },\n "left_node_id": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "match": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "basis": {\n "enum": [\n "exact-node-identity",\n "exact-content-digest",\n "exact-module-source-digest"\n ],\n "type": "string"\n },\n "candidate_left_node_ids": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "candidate_right_node_ids": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "confidence": {\n "const": "exact",\n "type": "string"\n },\n "status": {\n "const": "matched",\n "type": "string"\n }\n },\n "required": [\n "status",\n "basis",\n "confidence",\n "candidate_left_node_ids",\n "candidate_right_node_ids"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "basis": {\n "const": "source-map-identity",\n "type": "string"\n },\n "candidate_left_node_ids": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "candidate_right_node_ids": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "confidence": {\n "const": "high",\n "type": "string"\n },\n "status": {\n "const": "matched",\n "type": "string"\n }\n },\n "required": [\n "status",\n "basis",\n "confidence",\n "candidate_left_node_ids",\n "candidate_right_node_ids"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "basis": {\n "enum": [\n "structural-fingerprint",\n "semantic-key"\n ],\n "type": "string"\n },\n "candidate_left_node_ids": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "candidate_right_node_ids": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "confidence": {\n "const": "medium",\n "type": "string"\n },\n "status": {\n "const": "matched",\n "type": "string"\n }\n },\n "required": [\n "status",\n "basis",\n "confidence",\n "candidate_left_node_ids",\n "candidate_right_node_ids"\n ],\n "type": "object"\n }\n ]\n },\n "node_kind": {\n "enum": [\n "package",\n "installer",\n "artifact",\n "asar-entry",\n "electron-main",\n "electron-preload",\n "electron-renderer",\n "electron-utility",\n "javascript-asset",\n "javascript-chunk",\n "javascript-module",\n "source-map",\n "source-module",\n "browser-window",\n "frame",\n "target",\n "context-bridge-api",\n "ipc-channel",\n "ipc-handler",\n "worker",\n "service-worker",\n "endpoint",\n "storage",\n "native-addon",\n "native-export",\n "managed-assembly",\n "managed-module",\n "managed-type",\n "managed-method",\n "managed-field",\n "managed-pinvoke-import",\n "managed-native-implementation",\n "runtime-script-instance",\n "unknown"\n ],\n "type": "string"\n },\n "right_node_id": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "status": {\n "enum": [\n "unchanged",\n "changed",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "item_id",\n "node_kind",\n "dimensions",\n "evidence_links",\n "limitations",\n "status",\n "left_node_id",\n "right_node_id",\n "match"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "dimensions": {\n "items": {\n "enum": [\n "content",\n "location",\n "properties",\n "relationships",\n "availability",\n "coverage"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 2,\n "type": "array"\n },\n "item_id": {\n "pattern": "^javc_item_[a-f0-9]{64}$",\n "type": "string"\n },\n "left_node_id": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "match": {\n "additionalProperties": false,\n "properties": {\n "basis": {\n "const": "none",\n "type": "string"\n },\n "candidate_left_node_ids": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "candidate_right_node_ids": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "confidence": {\n "const": "unknown",\n "type": "string"\n },\n "status": {\n "const": "unmatched",\n "type": "string"\n }\n },\n "required": [\n "status",\n "basis",\n "confidence",\n "candidate_left_node_ids",\n "candidate_right_node_ids"\n ],\n "type": "object"\n },\n "node_kind": {\n "enum": [\n "package",\n "installer",\n "artifact",\n "asar-entry",\n "electron-main",\n "electron-preload",\n "electron-renderer",\n "electron-utility",\n "javascript-asset",\n "javascript-chunk",\n "javascript-module",\n "source-map",\n "source-module",\n "browser-window",\n "frame",\n "target",\n "context-bridge-api",\n "ipc-channel",\n "ipc-handler",\n "worker",\n "service-worker",\n "endpoint",\n "storage",\n "native-addon",\n "native-export",\n "managed-assembly",\n "managed-module",\n "managed-type",\n "managed-method",\n "managed-field",\n "managed-pinvoke-import",\n "managed-native-implementation",\n "runtime-script-instance",\n "unknown"\n ],\n "type": "string"\n },\n "right_node_id": {\n "type": "null"\n },\n "status": {\n "enum": [\n "removed",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "item_id",\n "node_kind",\n "dimensions",\n "evidence_links",\n "limitations",\n "status",\n "left_node_id",\n "right_node_id",\n "match"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "dimensions": {\n "items": {\n "enum": [\n "content",\n "location",\n "properties",\n "relationships",\n "availability",\n "coverage"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 2,\n "type": "array"\n },\n "item_id": {\n "pattern": "^javc_item_[a-f0-9]{64}$",\n "type": "string"\n },\n "left_node_id": {\n "type": "null"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "match": {\n "additionalProperties": false,\n "properties": {\n "basis": {\n "const": "none",\n "type": "string"\n },\n "candidate_left_node_ids": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "candidate_right_node_ids": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "confidence": {\n "const": "unknown",\n "type": "string"\n },\n "status": {\n "const": "unmatched",\n "type": "string"\n }\n },\n "required": [\n "status",\n "basis",\n "confidence",\n "candidate_left_node_ids",\n "candidate_right_node_ids"\n ],\n "type": "object"\n },\n "node_kind": {\n "enum": [\n "package",\n "installer",\n "artifact",\n "asar-entry",\n "electron-main",\n "electron-preload",\n "electron-renderer",\n "electron-utility",\n "javascript-asset",\n "javascript-chunk",\n "javascript-module",\n "source-map",\n "source-module",\n "browser-window",\n "frame",\n "target",\n "context-bridge-api",\n "ipc-channel",\n "ipc-handler",\n "worker",\n "service-worker",\n "endpoint",\n "storage",\n "native-addon",\n "native-export",\n "managed-assembly",\n "managed-module",\n "managed-type",\n "managed-method",\n "managed-field",\n "managed-pinvoke-import",\n "managed-native-implementation",\n "runtime-script-instance",\n "unknown"\n ],\n "type": "string"\n },\n "right_node_id": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "status": {\n "enum": [\n "added",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "item_id",\n "node_kind",\n "dimensions",\n "evidence_links",\n "limitations",\n "status",\n "left_node_id",\n "right_node_id",\n "match"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "dimensions": {\n "items": {\n "enum": [\n "content",\n "location",\n "properties",\n "relationships",\n "availability",\n "coverage"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 2,\n "type": "array"\n },\n "item_id": {\n "pattern": "^javc_item_[a-f0-9]{64}$",\n "type": "string"\n },\n "left_node_id": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "match": {\n "additionalProperties": false,\n "properties": {\n "basis": {\n "const": "none",\n "type": "string"\n },\n "candidate_left_node_ids": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "candidate_right_node_ids": {\n "items": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "prefixItems": [\n {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n }\n ],\n "type": "array"\n },\n "confidence": {\n "const": "unknown",\n "type": "string"\n },\n "status": {\n "const": "ambiguous",\n "type": "string"\n }\n },\n "required": [\n "status",\n "basis",\n "confidence",\n "candidate_left_node_ids",\n "candidate_right_node_ids"\n ],\n "type": "object"\n },\n "node_kind": {\n "enum": [\n "package",\n "installer",\n "artifact",\n "asar-entry",\n "electron-main",\n "electron-preload",\n "electron-renderer",\n "electron-utility",\n "javascript-asset",\n "javascript-chunk",\n "javascript-module",\n "source-map",\n "source-module",\n "browser-window",\n "frame",\n "target",\n "context-bridge-api",\n "ipc-channel",\n "ipc-handler",\n "worker",\n "service-worker",\n "endpoint",\n "storage",\n "native-addon",\n "native-export",\n "managed-assembly",\n "managed-module",\n "managed-type",\n "managed-method",\n "managed-field",\n "managed-pinvoke-import",\n "managed-native-implementation",\n "runtime-script-instance",\n "unknown"\n ],\n "type": "string"\n },\n "right_node_id": {\n "type": "null"\n },\n "status": {\n "const": "unknown",\n "type": "string"\n }\n },\n "required": [\n "item_id",\n "node_kind",\n "dimensions",\n "evidence_links",\n "limitations",\n "status",\n "left_node_id",\n "right_node_id",\n "match"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "dimensions": {\n "items": {\n "enum": [\n "content",\n "location",\n "properties",\n "relationships",\n "availability",\n "coverage"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 2,\n "type": "array"\n },\n "item_id": {\n "pattern": "^javc_item_[a-f0-9]{64}$",\n "type": "string"\n },\n "left_node_id": {\n "type": "null"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "match": {\n "additionalProperties": false,\n "properties": {\n "basis": {\n "const": "none",\n "type": "string"\n },\n "candidate_left_node_ids": {\n "items": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "prefixItems": [\n {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n }\n ],\n "type": "array"\n },\n "candidate_right_node_ids": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "confidence": {\n "const": "unknown",\n "type": "string"\n },\n "status": {\n "const": "ambiguous",\n "type": "string"\n }\n },\n "required": [\n "status",\n "basis",\n "confidence",\n "candidate_left_node_ids",\n "candidate_right_node_ids"\n ],\n "type": "object"\n },\n "node_kind": {\n "enum": [\n "package",\n "installer",\n "artifact",\n "asar-entry",\n "electron-main",\n "electron-preload",\n "electron-renderer",\n "electron-utility",\n "javascript-asset",\n "javascript-chunk",\n "javascript-module",\n "source-map",\n "source-module",\n "browser-window",\n "frame",\n "target",\n "context-bridge-api",\n "ipc-channel",\n "ipc-handler",\n "worker",\n "service-worker",\n "endpoint",\n "storage",\n "native-addon",\n "native-export",\n "managed-assembly",\n "managed-module",\n "managed-type",\n "managed-method",\n "managed-field",\n "managed-pinvoke-import",\n "managed-native-implementation",\n "runtime-script-instance",\n "unknown"\n ],\n "type": "string"\n },\n "right_node_id": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "status": {\n "const": "unknown",\n "type": "string"\n }\n },\n "required": [\n "item_id",\n "node_kind",\n "dimensions",\n "evidence_links",\n "limitations",\n "status",\n "left_node_id",\n "right_node_id",\n "match"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "left": {\n "additionalProperties": false,\n "properties": {\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "graph_id": {\n "pattern": "^jag_[a-f0-9]{64}$",\n "type": "string"\n },\n "root_artifact_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "evidence_id",\n "graph_id",\n "root_artifact_sha256"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "matching": {\n "additionalProperties": false,\n "properties": {\n "ambiguous": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "exact_content_digest": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "exact_module_source_digest": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "exact_node_identity": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "semantic_key": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "source_map_identity": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "structural_fingerprint": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "unmatched": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "exact_node_identity",\n "exact_content_digest",\n "exact_module_source_digest",\n "source_map_identity",\n "structural_fingerprint",\n "semantic_key",\n "ambiguous",\n "unmatched"\n ],\n "type": "object"\n },\n "right": {\n "additionalProperties": false,\n "properties": {\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "graph_id": {\n "pattern": "^jag_[a-f0-9]{64}$",\n "type": "string"\n },\n "root_artifact_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "evidence_id",\n "graph_id",\n "root_artifact_sha256"\n ],\n "type": "object"\n },\n "summary": {\n "additionalProperties": false,\n "properties": {\n "added": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "changed": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "removed": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "unchanged": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "unknown": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "unchanged",\n "added",\n "removed",\n "changed",\n "unknown"\n ],\n "type": "object"\n }\n },\n "required": [\n "comparison_id",\n "left",\n "right",\n "summary",\n "matching",\n "items",\n "graph",\n "coverage",\n "evidence_links",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Compare Application Versions"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Compare a cryptographically committed HistoricalSourceGraph with authenticated JavaScript Application Graph Evidence supplied inline or by exact same-session retained reference. 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.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "application": {\n "authority": "shipped-artifact",\n "confidence": "derived",\n "environment": null,\n "evidence_id": "ev_a4ae2c7b5c501fb6dff695b168f35a6dd157fa957410910684f3a4ce4c8b5d54",\n "evidence_links": [],\n "limitations": [],\n "locations": [],\n "normalized_result": {\n "format": "directory",\n "graph": {\n "coverage": {\n "limits": [],\n "omitted_count": 0,\n "status": "complete",\n "truncated": false\n },\n "edges": [],\n "graph_id": "jag_ab15669664efc0a86bb49c9c60241913cce6980dc2293fbeef6d9c862ca01d9d",\n "limitations": [],\n "nodes": [\n {\n "identity": {\n "sha256": "c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64",\n "stability": "global-exact",\n "strategy": "content-digest"\n },\n "kind": "javascript-asset",\n "node_id": "jag_node_3c82da5492d90eb5b0bee41c1a994d88b7ba98c0b4955270d70e57a76e224c2e",\n "observations": [\n {\n "evidence": {\n "artifact": {\n "artifact_id": "art_c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64",\n "available": true,\n "sha256": "c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64"\n },\n "authority": "artifact-bytes",\n "confidence": "exact",\n "coverage": {\n "limits": [],\n "omitted_count": 0,\n "status": "complete",\n "truncated": false\n },\n "evidence_ids": [],\n "extractor": {\n "executable_sha256": null,\n "name": "rea-javascript-application",\n "operation": "inventory-relevant-file",\n "version": "1"\n },\n "limitations": [],\n "location": {\n "available": true,\n "value": {\n "kind": "artifact-path",\n "path": "renderer.js"\n }\n },\n "state": "observed"\n },\n "identifier_strategy": {\n "stability": "observation-exact",\n "strategy": "semantic-content-sha256"\n },\n "label": "renderer.js",\n "observation_id": "jag_observation_20b4d076ce370db14ae2b477915624c62e0c4a0c9e56803a2c5cb4fa60c16230",\n "properties": {\n "bytes": 29,\n "path": "renderer.js"\n }\n }\n ]\n }\n ],\n "root_node_ids": [\n "jag_node_3c82da5492d90eb5b0bee41c1a994d88b7ba98c0b4955270d70e57a76e224c2e"\n ],\n "schema": "JavaScriptApplicationGraph"\n },\n "input_path": "/Applications/Example.app/Contents/Resources/app",\n "inventory_graph_sha256": "3333333333333333333333333333333333333333333333333333333333333333",\n "inventory_manifest_id": "agm_2222222222222222222222222222222222222222222222222222222222222222",\n "limitations": [],\n "root_artifact_sha256": "1111111111111111111111111111111111111111111111111111111111111111",\n "semantic_graph": {\n "application_graph_id": "jag_ab15669664efc0a86bb49c9c60241913cce6980dc2293fbeef6d9c862ca01d9d",\n "coverage": {\n "families": [\n {\n "family": "boundary",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "call-flow",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "child-process",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "closure",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "configuration",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "data-flow",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "event",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "object-flow",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "promise-ownership",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "request",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "resource-lifecycle",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "timer",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n }\n ],\n "limits": [],\n "omitted_nodes": 0,\n "omitted_relations": 0,\n "status": "unknown",\n "truncated": false\n },\n "fingerprints": [],\n "graph_id": "jsrg_08c925d2bf4ef56d770e0e67901d5bdfb610744cf001a50d36c9bb6dcb195508",\n "limitations": [\n "Semantic relations are unavailable in this minimal example."\n ],\n "nodes": [\n {\n "application_node_ids": [\n "jag_node_3c82da5492d90eb5b0bee41c1a994d88b7ba98c0b4955270d70e57a76e224c2e"\n ],\n "evidence": {\n "artifact": {\n "artifact_id": "art_c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64",\n "available": true,\n "sha256": "c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64"\n },\n "authority": "artifact-bytes",\n "confidence": "exact",\n "coverage": {\n "limits": [],\n "omitted_count": 0,\n "status": "complete",\n "truncated": false\n },\n "evidence_ids": [],\n "extractor": {\n "executable_sha256": null,\n "name": "rea-javascript-application",\n "operation": "inventory-relevant-file",\n "version": "1"\n },\n "limitations": [],\n "location": {\n "available": true,\n "value": {\n "kind": "artifact-path",\n "path": "renderer.js"\n }\n },\n "state": "observed"\n },\n "function_node_id": null,\n "identifier_strategy": {\n "stability": "artifact-version",\n "strategy": "semantic-content-sha256"\n },\n "identity": {\n "artifact_sha256": "1111111111111111111111111111111111111111111111111111111111111111",\n "module_path": "renderer.js",\n "role_key": "example-module",\n "source_range": null\n },\n "kind": "module",\n "label": "renderer.js",\n "node_id": "jsrg_node_9476602f1f74433a2bd3dadb040a25734d203b8f831b31a8d96f7efdfc5cd66a",\n "properties": {}\n }\n ],\n "relations": [],\n "root_artifact_sha256": "1111111111111111111111111111111111111111111111111111111111111111",\n "root_node_ids": [\n "jsrg_node_9476602f1f74433a2bd3dadb040a25734d203b8f831b31a8d96f7efdfc5cd66a"\n ],\n "schema": "JavaScriptSemanticRelationGraph",\n "unknowns": []\n },\n "statistics": {\n "findings": 0,\n "invalid_utf8_files": 0,\n "modules": 0,\n "nested_asar_containers": 0,\n "parse_failures": 0,\n "parsed_javascript_files": 1,\n "relevant_files": 1,\n "text_bytes_read": 29,\n "truncated_scopes": 0,\n "visited_ast_nodes": 1\n },\n "summary": {\n "browser_windows": 0,\n "context_bridge_apis": 0,\n "explicit_web_preferences": 0,\n "exposed_api_members": 0,\n "ipc": {\n "ambiguous_renderer_transmissions": 0,\n "dynamic_channel_operations": 0,\n "literal_channels": 0,\n "main_handlers": 0,\n "operations": 0,\n "paired_renderer_transmissions": 0,\n "renderer_listeners": 0,\n "renderer_transmissions": 0,\n "unpaired_literal_renderer_transmissions": 0\n },\n "native_addon_bindings": 0,\n "preload_entrypoints": 0,\n "resolved_native_addon_bindings": 0,\n "resolved_utility_entrypoints": 0,\n "sender_validation_observations": 0,\n "utility_processes": 0\n }\n },\n "operation": "analyze_javascript_application",\n "parameters": {},\n "predicate_type": "rea.javascript-application-analysis",\n "provider": {\n "id": "rea-javascript-application",\n "name": "REA JavaScript application analyzer",\n "version": "1"\n },\n "raw_result": null,\n "subject": {\n "architecture": null,\n "digest": {\n "sha256": "1111111111111111111111111111111111111111111111111111111111111111"\n },\n "format": "directory",\n "local_path": "/Applications/Example.app/Contents/Resources/app",\n "name": "app"\n }\n },\n "reference": {\n "authority": "historical-reference",\n "entries": [\n {\n "classifications": [\n "source"\n ],\n "kind": "directory",\n "limitations": [],\n "path": "src",\n "tree_state": "enumerated"\n },\n {\n "classifications": [\n "source"\n ],\n "content_state": "hashed",\n "kind": "file",\n "language": "TypeScript",\n "limitations": [],\n "path": "src/main.ts",\n "sha256": "2222222222222222222222222222222222222222222222222222222222222222",\n "size": 128\n }\n ],\n "exclusions": [],\n "inventory_state": "complete",\n "languages": [\n "TypeScript"\n ],\n "limitations": [],\n "manifests": [],\n "parse_failures": [],\n "provenance": {\n "caller": "contract-example",\n "importer": "rea",\n "importer_version": "1"\n },\n "relationships": [],\n "root_alias": "$REFERENCE_ROOT",\n "root_sha256": "683969414c3e674a368392213c78021322fb39609b0c57f346b22da6464b2110",\n "schema": "HistoricalSourceGraph",\n "vcs": {\n "dirty": null,\n "head": null,\n "kind": "none"\n }\n }\n }\n ],\n "properties": {\n "application": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "description": "Value for analysis profile.",\n "properties": {\n "digest": {\n "description": "Value for digest.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "description": "Value for version.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "description": "Value for authority.",\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "description": "Value for confidence.",\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "description": "Value for architecture.",\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "description": "Value for isolation.",\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "description": "Value for platform.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for environment."\n },\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "description": "Value for evidence links.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "description": "Value for locations.",\n "items": {\n "oneOf": [\n {\n "properties": {\n "address": {\n "description": "Value for address.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "artifact-path",\n "description": "Value for kind.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "file-offset",\n "description": "Value for kind.",\n "type": "string"\n },\n "offset": {\n "description": "Value for offset.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0",\n "description": "Value for normalized result."\n },\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "description": "Value for predicate type.",\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for version."\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for raw result."\n },\n "subject": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "digest": {\n "description": "Value for digest.",\n "properties": {\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "description": "Declared input artifact format.",\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "description": "Local filesystem path for local.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for subject."\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "kind": {\n "const": "retained-evidence",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "evidence_id"\n ],\n "type": "object"\n }\n ],\n "description": "Value for application."\n },\n "reference": {\n "additionalProperties": false,\n "description": "Value for reference.",\n "properties": {\n "authority": {\n "const": "historical-reference",\n "description": "Value for authority.",\n "type": "string"\n },\n "entries": {\n "description": "Value for entries.",\n "items": {\n "anyOf": [\n {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "classifications": {\n "description": "Value for classifications.",\n "items": {\n "enum": [\n "source",\n "test",\n "config",\n "manifest",\n "generated",\n "vendor",\n "documentation",\n "unknown"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "content_state": {\n "const": "hashed",\n "description": "Value for content state.",\n "type": "string"\n },\n "kind": {\n "const": "file",\n "description": "Value for kind.",\n "type": "string"\n },\n "language": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for language."\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "size": {\n "description": "Value for size.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "path",\n "classifications",\n "limitations",\n "kind",\n "language",\n "sha256",\n "size",\n "content_state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "classifications": {\n "description": "Value for classifications.",\n "items": {\n "enum": [\n "source",\n "test",\n "config",\n "manifest",\n "generated",\n "vendor",\n "documentation",\n "unknown"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "content_state": {\n "description": "Value for content state.",\n "enum": [\n "redacted-secret",\n "excluded",\n "unreadable",\n "unknown"\n ],\n "type": "string"\n },\n "kind": {\n "const": "file",\n "description": "Value for kind.",\n "type": "string"\n },\n "language": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for language."\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "sha256": {\n "description": "Value for sha256.",\n "type": "null"\n },\n "size": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for size."\n }\n },\n "required": [\n "path",\n "classifications",\n "limitations",\n "kind",\n "language",\n "sha256",\n "size",\n "content_state"\n ],\n "type": "object"\n }\n ]\n },\n {\n "additionalProperties": false,\n "properties": {\n "classifications": {\n "description": "Value for classifications.",\n "items": {\n "enum": [\n "source",\n "test",\n "config",\n "manifest",\n "generated",\n "vendor",\n "documentation",\n "unknown"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "kind": {\n "const": "directory",\n "description": "Value for kind.",\n "type": "string"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "tree_state": {\n "description": "Value for tree state.",\n "enum": [\n "enumerated",\n "partial",\n "excluded",\n "unreadable",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "path",\n "classifications",\n "limitations",\n "kind",\n "tree_state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "classifications": {\n "description": "Value for classifications.",\n "items": {\n "enum": [\n "source",\n "test",\n "config",\n "manifest",\n "generated",\n "vendor",\n "documentation",\n "unknown"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "kind": {\n "const": "symlink",\n "description": "Value for kind.",\n "type": "string"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "target": {\n "description": "Value for target.",\n "minLength": 1,\n "type": "string"\n },\n "target_state": {\n "description": "Value for target state.",\n "enum": [\n "internal",\n "external",\n "missing",\n "unreadable",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "path",\n "classifications",\n "limitations",\n "kind",\n "target",\n "target_state"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "exclusions": {\n "description": "Value for exclusions.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "description": "Value for reason.",\n "enum": [\n "configured-secret",\n "symlink-escape",\n "size-limit",\n "inventory-limit",\n "unreadable",\n "caller-excluded"\n ],\n "type": "string"\n }\n },\n "required": [\n "path",\n "reason"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "inventory_state": {\n "description": "Value for inventory state.",\n "enum": [\n "complete",\n "partial",\n "unknown"\n ],\n "type": "string"\n },\n "languages": {\n "description": "Value for languages.",\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "manifests": {\n "description": "Value for manifests.",\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "parse_failures": {\n "description": "Value for parse failures.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "parser": {\n "description": "Value for parser.",\n "minLength": 1,\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "description": "Value for reason.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "path",\n "parser",\n "reason"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "provenance": {\n "additionalProperties": false,\n "description": "Value for provenance.",\n "properties": {\n "caller": {\n "description": "Value for caller.",\n "minLength": 1,\n "pattern": "^[\\\\w .:@/+-]+$",\n "type": "string"\n },\n "importer": {\n "description": "Value for importer.",\n "minLength": 1,\n "type": "string"\n },\n "importer_version": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for importer version."\n }\n },\n "required": [\n "importer",\n "importer_version",\n "caller"\n ],\n "type": "object"\n },\n "relationships": {\n "description": "Value for relationships.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "from_path": {\n "description": "Local filesystem path for from.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "description": "Value for kind.",\n "enum": [\n "imports",\n "requires",\n "references",\n "declares-module"\n ],\n "type": "string"\n },\n "parse_state": {\n "description": "Value for parse state.",\n "enum": [\n "parsed",\n "partial",\n "unknown"\n ],\n "type": "string"\n },\n "resolution": {\n "description": "Value for resolution.",\n "enum": [\n "internal",\n "external",\n "unresolved",\n "unknown"\n ],\n "type": "string"\n },\n "to": {\n "description": "Value for to.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "from_path",\n "to",\n "kind",\n "resolution",\n "parse_state"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "root_alias": {\n "const": "$REFERENCE_ROOT",\n "description": "Value for root alias.",\n "type": "string"\n },\n "root_sha256": {\n "description": "Exact SHA-256 digest of root.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "schema": {\n "const": "HistoricalSourceGraph",\n "description": "Value for schema.",\n "type": "string"\n },\n "vcs": {\n "anyOf": [\n {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "dirty": {\n "anyOf": [\n {\n "type": "boolean"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for dirty."\n },\n "head": {\n "description": "Value for head.",\n "pattern": "^(?:[a-f0-9]{40}|[a-f0-9]{64})$",\n "type": "string"\n },\n "kind": {\n "const": "git",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "head",\n "dirty"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "dirty": {\n "description": "Value for dirty.",\n "type": "null"\n },\n "head": {\n "description": "Value for head.",\n "type": "null"\n },\n "kind": {\n "const": "none",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "head",\n "dirty"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "dirty": {\n "description": "Value for dirty.",\n "type": "null"\n },\n "head": {\n "description": "Value for head.",\n "type": "null"\n },\n "kind": {\n "const": "unknown",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "head",\n "dirty"\n ],\n "type": "object"\n }\n ]\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for vcs."\n }\n },\n "required": [\n "schema",\n "authority",\n "root_alias",\n "root_sha256",\n "inventory_state",\n "entries",\n "relationships",\n "parse_failures",\n "exclusions",\n "languages",\n "manifests",\n "vcs",\n "provenance",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "reference",\n "application"\n ],\n "type": "object"\n },\n "kind": "application",\n "name": "compare_source_to_bundle",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "application": {\n "additionalProperties": false,\n "properties": {\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "graph_id": {\n "pattern": "^jag_[a-f0-9]{64}$",\n "type": "string"\n },\n "root_artifact_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "evidence_id",\n "graph_id",\n "root_artifact_sha256"\n ],\n "type": "object"\n },\n "comparison_id": {\n "pattern": "^stbc_[a-f0-9]{64}$",\n "type": "string"\n },\n "coverage": {\n "additionalProperties": false,\n "properties": {\n "application_graph_status": {\n "enum": [\n "complete",\n "partial",\n "unknown",\n "unavailable"\n ],\n "type": "string"\n },\n "candidate_evaluations": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "reference_inventory_state": {\n "enum": [\n "complete",\n "partial",\n "unknown"\n ],\n "type": "string"\n },\n "retained_application_nodes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "retained_source_files": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "status": {\n "enum": [\n "complete-within-inputs",\n "partial"\n ],\n "type": "string"\n }\n },\n "required": [\n "status",\n "reference_inventory_state",\n "application_graph_status",\n "retained_source_files",\n "retained_application_nodes",\n "candidate_evaluations"\n ],\n "type": "object"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "maxItems": 1,\n "minItems": 1,\n "type": "array"\n },\n "items": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "candidates": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "confidence": {\n "enum": [\n "exact",\n "high",\n "medium",\n "low"\n ],\n "type": "string"\n },\n "current_node_id": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "current_node_kind": {\n "enum": [\n "package",\n "installer",\n "artifact",\n "asar-entry",\n "electron-main",\n "electron-preload",\n "electron-renderer",\n "electron-utility",\n "javascript-asset",\n "javascript-chunk",\n "javascript-module",\n "source-map",\n "source-module",\n "browser-window",\n "frame",\n "target",\n "context-bridge-api",\n "ipc-channel",\n "ipc-handler",\n "worker",\n "service-worker",\n "endpoint",\n "storage",\n "native-addon",\n "native-export",\n "managed-assembly",\n "managed-module",\n "managed-type",\n "managed-method",\n "managed-field",\n "managed-pinvoke-import",\n "managed-native-implementation",\n "runtime-script-instance",\n "unknown"\n ],\n "type": "string"\n },\n "score": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "signals": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "current_values": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "kind": {\n "enum": [\n "exact-source-digest",\n "source-map-original-path",\n "current-path-exact",\n "current-path-suffix",\n "basename-match",\n "language-extension"\n ],\n "type": "string"\n },\n "source_value": {\n "minLength": 1,\n "type": "string"\n },\n "weight": {\n "maximum": 100,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "weight",\n "source_value",\n "current_values"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "current_node_id",\n "current_node_kind",\n "score",\n "confidence",\n "signals"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "confidence": {\n "enum": [\n "exact",\n "high",\n "medium",\n "unknown"\n ],\n "type": "string"\n },\n "current_node_ids": {\n "items": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "mapping_id": {\n "pattern": "^stbc_item_[a-f0-9]{64}$",\n "type": "string"\n },\n "source_language": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "source_path": {\n "minLength": 1,\n "type": "string"\n },\n "source_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "enum": [\n "unchanged",\n "modified",\n "removed",\n "split",\n "merged",\n "duplicated",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "mapping_id",\n "source_path",\n "source_sha256",\n "source_language",\n "status",\n "confidence",\n "current_node_ids",\n "candidates",\n "limitations"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "reference": {\n "additionalProperties": false,\n "properties": {\n "inventory_state": {\n "enum": [\n "complete",\n "partial",\n "unknown"\n ],\n "type": "string"\n },\n "root_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "root_sha256",\n "inventory_state"\n ],\n "type": "object"\n },\n "scoring": {\n "additionalProperties": false,\n "properties": {\n "algorithm": {\n "const": "rea-source-to-bundle-signals",\n "type": "string"\n },\n "minimum_candidate_score": {\n "const": 20,\n "type": "number"\n },\n "weights": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "signal": {\n "enum": [\n "exact-source-digest",\n "source-map-original-path",\n "current-path-exact",\n "current-path-suffix",\n "basename-match",\n "language-extension"\n ],\n "type": "string"\n },\n "weight": {\n "maximum": 100,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "signal",\n "weight"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "algorithm",\n "minimum_candidate_score",\n "weights"\n ],\n "type": "object"\n },\n "summary": {\n "additionalProperties": false,\n "properties": {\n "duplicated": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "merged": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "modified": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "removed": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "split": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "unchanged": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "unknown": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "unchanged",\n "modified",\n "removed",\n "split",\n "merged",\n "duplicated",\n "unknown"\n ],\n "type": "object"\n },\n "unmapped_current_node_ids": {\n "items": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n }\n },\n "required": [\n "comparison_id",\n "reference",\n "application",\n "scoring",\n "summary",\n "items",\n "unmapped_current_node_ids",\n "coverage",\n "evidence_links",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Compare Source To Bundle"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Compare static return shapes for one exact module/export selector on each authenticated JavaScript Application Graph supplied as inline Evidence or exact same-session retained references. Variants pair only by reciprocal unique literal discriminants; dynamic values, incomplete properties, and ambiguous variants remain unknown. Reports JSON Pointer changes without executing JavaScript; runtime behavior requires a separate agent-run probe.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "left": {\n "authority": "shipped-artifact",\n "confidence": "derived",\n "environment": null,\n "evidence_id": "ev_a4ae2c7b5c501fb6dff695b168f35a6dd157fa957410910684f3a4ce4c8b5d54",\n "evidence_links": [],\n "limitations": [],\n "locations": [],\n "normalized_result": {\n "format": "directory",\n "graph": {\n "coverage": {\n "limits": [],\n "omitted_count": 0,\n "status": "complete",\n "truncated": false\n },\n "edges": [],\n "graph_id": "jag_ab15669664efc0a86bb49c9c60241913cce6980dc2293fbeef6d9c862ca01d9d",\n "limitations": [],\n "nodes": [\n {\n "identity": {\n "sha256": "c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64",\n "stability": "global-exact",\n "strategy": "content-digest"\n },\n "kind": "javascript-asset",\n "node_id": "jag_node_3c82da5492d90eb5b0bee41c1a994d88b7ba98c0b4955270d70e57a76e224c2e",\n "observations": [\n {\n "evidence": {\n "artifact": {\n "artifact_id": "art_c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64",\n "available": true,\n "sha256": "c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64"\n },\n "authority": "artifact-bytes",\n "confidence": "exact",\n "coverage": {\n "limits": [],\n "omitted_count": 0,\n "status": "complete",\n "truncated": false\n },\n "evidence_ids": [],\n "extractor": {\n "executable_sha256": null,\n "name": "rea-javascript-application",\n "operation": "inventory-relevant-file",\n "version": "1"\n },\n "limitations": [],\n "location": {\n "available": true,\n "value": {\n "kind": "artifact-path",\n "path": "renderer.js"\n }\n },\n "state": "observed"\n },\n "identifier_strategy": {\n "stability": "observation-exact",\n "strategy": "semantic-content-sha256"\n },\n "label": "renderer.js",\n "observation_id": "jag_observation_20b4d076ce370db14ae2b477915624c62e0c4a0c9e56803a2c5cb4fa60c16230",\n "properties": {\n "bytes": 29,\n "path": "renderer.js"\n }\n }\n ]\n }\n ],\n "root_node_ids": [\n "jag_node_3c82da5492d90eb5b0bee41c1a994d88b7ba98c0b4955270d70e57a76e224c2e"\n ],\n "schema": "JavaScriptApplicationGraph"\n },\n "input_path": "/Applications/Example.app/Contents/Resources/app",\n "inventory_graph_sha256": "3333333333333333333333333333333333333333333333333333333333333333",\n "inventory_manifest_id": "agm_2222222222222222222222222222222222222222222222222222222222222222",\n "limitations": [],\n "root_artifact_sha256": "1111111111111111111111111111111111111111111111111111111111111111",\n "semantic_graph": {\n "application_graph_id": "jag_ab15669664efc0a86bb49c9c60241913cce6980dc2293fbeef6d9c862ca01d9d",\n "coverage": {\n "families": [\n {\n "family": "boundary",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "call-flow",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "child-process",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "closure",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "configuration",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "data-flow",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "event",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "object-flow",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "promise-ownership",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "request",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "resource-lifecycle",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n },\n {\n "family": "timer",\n "omitted_relations": 0,\n "retained_relations": 0,\n "status": "unknown",\n "unknown_ids": []\n }\n ],\n "limits": [],\n "omitted_nodes": 0,\n "omitted_relations": 0,\n "status": "unknown",\n "truncated": false\n },\n "fingerprints": [],\n "graph_id": "jsrg_08c925d2bf4ef56d770e0e67901d5bdfb610744cf001a50d36c9bb6dcb195508",\n "limitations": [\n "Semantic relations are unavailable in this minimal example."\n ],\n "nodes": [\n {\n "application_node_ids": [\n "jag_node_3c82da5492d90eb5b0bee41c1a994d88b7ba98c0b4955270d70e57a76e224c2e"\n ],\n "evidence": {\n "artifact": {\n "artifact_id": "art_c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64",\n "available": true,\n "sha256": "c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64"\n },\n "authority": "artifact-bytes",\n "confidence": "exact",\n "coverage": {\n "limits": [],\n "omitted_count": 0,\n "status": "complete",\n "truncated": false\n },\n "evidence_ids": [],\n "extractor": {\n "executable_sha256": null,\n "name": "rea-javascript-application",\n "operation": "inventory-relevant-file",\n "version": "1"\n },\n "limitations": [],\n "location": {\n "available": true,\n "value": {\n "kind": "artifact-path",\n "path": "renderer.js"\n }\n },\n "state": "observed"\n },\n "function_node_id": null,\n "identifier_strategy": {\n "stability": "artifact-version",\n "strategy": "semantic-content-sha256"\n },\n "identity": {\n "artifact_sha256": "1111111111111111111111111111111111111111111111111111111111111111",\n "module_path": "renderer.js",\n "role_key": "example-module",\n "source_range": null\n },\n "kind": "module",\n "label": "renderer.js",\n "node_id": "jsrg_node_9476602f1f74433a2bd3dadb040a25734d203b8f831b31a8d96f7efdfc5cd66a",\n "properties": {}\n }\n ],\n "relations": [],\n "root_artifact_sha256": "1111111111111111111111111111111111111111111111111111111111111111",\n "root_node_ids": [\n "jsrg_node_9476602f1f74433a2bd3dadb040a25734d203b8f831b31a8d96f7efdfc5cd66a"\n ],\n "schema": "JavaScriptSemanticRelationGraph",\n "unknowns": []\n },\n "statistics": {\n "findings": 0,\n "invalid_utf8_files": 0,\n "modules": 0,\n "nested_asar_containers": 0,\n "parse_failures": 0,\n "parsed_javascript_files": 1,\n "relevant_files": 1,\n "text_bytes_read": 29,\n "truncated_scopes": 0,\n "visited_ast_nodes": 1\n },\n "summary": {\n "browser_windows": 0,\n "context_bridge_apis": 0,\n "explicit_web_preferences": 0,\n "exposed_api_members": 0,\n "ipc": {\n "ambiguous_renderer_transmissions": 0,\n "dynamic_channel_operations": 0,\n "literal_channels": 0,\n "main_handlers": 0,\n "operations": 0,\n "paired_renderer_transmissions": 0,\n "renderer_listeners": 0,\n "renderer_transmissions": 0,\n "unpaired_literal_renderer_transmissions": 0\n },\n "native_addon_bindings": 0,\n "preload_entrypoints": 0,\n "resolved_native_addon_bindings": 0,\n "resolved_utility_entrypoints": 0,\n "sender_validation_observations": 0,\n "utility_processes": 0\n }\n },\n "operation": "analyze_javascript_application",\n "parameters": {},\n "predicate_type": "rea.javascript-application-analysis",\n "provider": {\n "id": "rea-javascript-application",\n "name": "REA JavaScript application analyzer",\n "version": "1"\n },\n "raw_result": null,\n "subject": {\n "architecture": null,\n "digest": {\n "sha256": "1111111111111111111111111111111111111111111111111111111111111111"\n },\n "format": "directory",\n "local_path": "/Applications/Example.app/Contents/Resources/app",\n "name": "app"\n }\n },\n "left_export_name": "default",\n "left_module_path": "parser.mjs",\n "right": {\n "authority": "analyst-inference",\n "confidence": "inferred",\n "environment": null,\n "evidence_id": "ev_c2754cf75e286b839ed825f247062067a6472acb1e7b6ce0f9aaceec6448d6d7",\n "evidence_links": [\n "ev_a42606ee799a093832ad3d6cfd0edd50dc9b99f78cc6d5d9130b734d48a56b4e",\n "ev_a4ae2c7b5c501fb6dff695b168f35a6dd157fa957410910684f3a4ce4c8b5d54"\n ],\n "limitations": [\n "Artifact identity is unavailable for this observation.",\n "A static module resident in an observed bundle is not reported as executed.",\n "Caller-declared file and URL mappings are inference inputs and do not expand CDP origin or filesystem-root authority.",\n "Digest equality establishes byte identity but not code reachability, module initialization, or feature execution.",\n "Not-observed means absent from the bounded captures in scope, never globally unloaded.",\n "Only caller-supplied, semantically verified Evidence records were reconciled.",\n "Source-map authority remains separate from passive runtime authority."\n ],\n "locations": [],\n "normalized_result": {\n "coverage": {\n "omitted_graph_items": 0,\n "omitted_reconciliation_items": 0,\n "omitted_runtime_entities": 0,\n "omitted_static_load_states": 0,\n "status": "complete-within-inputs",\n "truncated": false\n },\n "evidence_links": [\n "ev_a42606ee799a093832ad3d6cfd0edd50dc9b99f78cc6d5d9130b734d48a56b4e",\n "ev_a4ae2c7b5c501fb6dff695b168f35a6dd157fa957410910684f3a4ce4c8b5d54"\n ],\n "graph": {\n "coverage": {\n "limits": [],\n "omitted_count": 0,\n "status": "complete",\n "truncated": false\n },\n "edges": [\n {\n "edge_id": "jag_edge_3799eb1c2b0f224013a0edba8911a8b9edabd5fa6da2f893a6cfa24a899c9463",\n "evidence": {\n "artifact": {\n "artifact_id": "art_c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64",\n "available": true,\n "sha256": "c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64"\n },\n "authority": "cross-layer-reconciliation",\n "confidence": "high",\n "coverage": {\n "limits": [],\n "omitted_count": 0,\n "status": "complete",\n "truncated": false\n },\n "evidence_ids": [\n "ev_a42606ee799a093832ad3d6cfd0edd50dc9b99f78cc6d5d9130b734d48a56b4e",\n "ev_a4ae2c7b5c501fb6dff695b168f35a6dd157fa957410910684f3a4ce4c8b5d54"\n ],\n "extractor": {\n "executable_sha256": null,\n "name": "rea-javascript-runtime-reconciliation",\n "operation": "reconcile_javascript_runtime",\n "version": "1"\n },\n "limitations": [\n "Equal content digests establish byte identity, not execution causality.",\n "Passive script parsing or target presence does not prove feature execution."\n ],\n "location": {\n "available": true,\n "value": {\n "capture_sha256": "a4dd260f01b45e3df92482755baed7a1922b4af2226edc7f896bdbc4d2bbbd9c",\n "frame_key": null,\n "kind": "runtime",\n "script_key": "electron_script_4444444444444444444444444444444444444444444444444444444444444444",\n "target_key": "example-target"\n }\n },\n "state": "inferred"\n },\n "identifier_strategy": {\n "stability": "relationship-exact",\n "strategy": "semantic-content-sha256"\n },\n "properties": {\n "basis": "content-and-location",\n "reconciliation_id": "jrr_item_ea9d751c4bf3a2234af56b80d5ac8a1f953da9a9477cd46586a62934ff4a5fb2",\n "static_layer_id": "jrl_96fcfc590e7ca88f94b602638421674d8b13ccc7d25efff15a15b03c33b34753"\n },\n "relation": "observed_as",\n "source_node_id": "jag_node_3c82da5492d90eb5b0bee41c1a994d88b7ba98c0b4955270d70e57a76e224c2e",\n "target_node_id": "jag_node_af8ea5d1909955f39da1d844b2cad8f2f68c34b7d575ded6d04c00fa4095a88e"\n },\n {\n "edge_id": "jag_edge_f3c06b02c5ac77056b5d2a9f8de834ea0a9123b01dc369a011e3adc4a535338b",\n "evidence": {\n "artifact": {\n "available": false,\n "detail": "The relationship is runtime metadata, not standalone bytes.",\n "reason": "not-applicable"\n },\n "authority": "passive-cdp-runtime",\n "confidence": "exact",\n "coverage": {\n "limits": [],\n "omitted_count": 0,\n "status": "complete",\n "truncated": false\n },\n "evidence_ids": [\n "ev_a42606ee799a093832ad3d6cfd0edd50dc9b99f78cc6d5d9130b734d48a56b4e"\n ],\n "extractor": {\n "executable_sha256": null,\n "name": "rea-cdp-electron",\n "operation": "inspect_electron_page",\n "version": "1"\n },\n "limitations": [\n "The relationship was observed only within one bounded passive CDP capture."\n ],\n "location": {\n "available": true,\n "value": {\n "capture_sha256": "a4dd260f01b45e3df92482755baed7a1922b4af2226edc7f896bdbc4d2bbbd9c",\n "frame_key": null,\n "kind": "runtime",\n "script_key": "electron_script_4444444444444444444444444444444444444444444444444444444444444444",\n "target_key": "example-target"\n }\n },\n "state": "observed"\n },\n "identifier_strategy": {\n "stability": "relationship-exact",\n "strategy": "semantic-content-sha256"\n },\n "properties": {\n "basis": "passive-cdp-observation"\n },\n "relation": "loads",\n "source_node_id": "jag_node_f360c35c86d4893fcf83ef0fdef92cebd688fba883aa39698a1c12dd5a237265",\n "target_node_id": "jag_node_af8ea5d1909955f39da1d844b2cad8f2f68c34b7d575ded6d04c00fa4095a88e"\n }\n ],\n "graph_id": "jag_0536a9584eb91a16f78f71e8bef4cffc3105df18098fe65a7b114add520203ca",\n "limitations": [\n "Cross-layer observed_as edges are inferences; digest equality proves byte identity only.",\n "Runtime presence is bounded to passive capture windows and does not prove feature execution.",\n "Source-map relationships retain their original static authority and are not promoted into runtime matches."\n ],\n "nodes": [\n {\n "identity": {\n "sha256": "c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64",\n "stability": "global-exact",\n "strategy": "content-digest"\n },\n "kind": "javascript-asset",\n "node_id": "jag_node_3c82da5492d90eb5b0bee41c1a994d88b7ba98c0b4955270d70e57a76e224c2e",\n "observations": [\n {\n "evidence": {\n "artifact": {\n "artifact_id": "art_c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64",\n "available": true,\n "sha256": "c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64"\n },\n "authority": "artifact-bytes",\n "confidence": "exact",\n "coverage": {\n "limits": [],\n "omitted_count": 0,\n "status": "complete",\n "truncated": false\n },\n "evidence_ids": [],\n "extractor": {\n "executable_sha256": null,\n "name": "rea-javascript-application",\n "operation": "inventory-relevant-file",\n "version": "1"\n },\n "limitations": [],\n "location": {\n "available": true,\n "value": {\n "kind": "artifact-path",\n "path": "renderer.js"\n }\n },\n "state": "observed"\n },\n "identifier_strategy": {\n "stability": "observation-exact",\n "strategy": "semantic-content-sha256"\n },\n "label": "renderer.js",\n "observation_id": "jag_observation_20b4d076ce370db14ae2b477915624c62e0c4a0c9e56803a2c5cb4fa60c16230",\n "properties": {\n "bytes": 29,\n "path": "renderer.js"\n }\n }\n ]\n },\n {\n "identity": {\n "capture_sha256": "a4dd260f01b45e3df92482755baed7a1922b4af2226edc7f896bdbc4d2bbbd9c",\n "runtime_key": "electron_script_4444444444444444444444444444444444444444444444444444444444444444",\n "stability": "capture-only",\n "strategy": "runtime-instance"\n },\n "kind": "runtime-script-instance",\n "node_id": "jag_node_af8ea5d1909955f39da1d844b2cad8f2f68c34b7d575ded6d04c00fa4095a88e",\n "observations": [\n {\n "evidence": {\n "artifact": {\n "artifact_id": "art_c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64",\n "available": true,\n "sha256": "c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64"\n },\n "authority": "passive-cdp-runtime",\n "confidence": "exact",\n "coverage": {\n "limits": [],\n "omitted_count": 0,\n "status": "complete",\n "truncated": false\n },\n "evidence_ids": [\n "ev_a42606ee799a093832ad3d6cfd0edd50dc9b99f78cc6d5d9130b734d48a56b4e"\n ],\n "extractor": {\n "executable_sha256": null,\n "name": "rea-cdp-electron",\n "operation": "inspect_electron_page",\n "version": "1"\n },\n "limitations": [\n "The entity was observed only within one bounded passive CDP capture."\n ],\n "location": {\n "available": true,\n "value": {\n "capture_sha256": "a4dd260f01b45e3df92482755baed7a1922b4af2226edc7f896bdbc4d2bbbd9c",\n "frame_key": null,\n "kind": "runtime",\n "script_key": "electron_script_4444444444444444444444444444444444444444444444444444444444444444",\n "target_key": "example-target"\n }\n },\n "state": "observed"\n },\n "identifier_strategy": {\n "stability": "observation-exact",\n "strategy": "semantic-content-sha256"\n },\n "label": "/Applications/Example.app/Contents/Resources/app/renderer.js",\n "observation_id": "jag_observation_9315403b875ea70c310909daf797780ab9045ff8f4803db38a9184e4f0704f11",\n "properties": {\n "cdp_hash": "example",\n "is_module": true,\n "language": "JavaScript",\n "length": 29,\n "location": "/Applications/Example.app/Contents/Resources/app/renderer.js",\n "source_sha256": "c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64"\n }\n }\n ]\n },\n {\n "identity": {\n "capture_sha256": "a4dd260f01b45e3df92482755baed7a1922b4af2226edc7f896bdbc4d2bbbd9c",\n "runtime_key": "example-target",\n "stability": "capture-only",\n "strategy": "runtime-instance"\n },\n "kind": "target",\n "node_id": "jag_node_f360c35c86d4893fcf83ef0fdef92cebd688fba883aa39698a1c12dd5a237265",\n "observations": [\n {\n "evidence": {\n "artifact": {\n "available": false,\n "detail": "This runtime entity has no standalone artifact bytes.",\n "reason": "not-applicable"\n },\n "authority": "passive-cdp-runtime",\n "confidence": "exact",\n "coverage": {\n "limits": [],\n "omitted_count": 0,\n "status": "complete",\n "truncated": false\n },\n "evidence_ids": [\n "ev_a42606ee799a093832ad3d6cfd0edd50dc9b99f78cc6d5d9130b734d48a56b4e"\n ],\n "extractor": {\n "executable_sha256": null,\n "name": "rea-cdp-electron",\n "operation": "inspect_electron_page",\n "version": "1"\n },\n "limitations": [\n "The entity was observed only within one bounded passive CDP capture."\n ],\n "location": {\n "available": true,\n "value": {\n "capture_sha256": "a4dd260f01b45e3df92482755baed7a1922b4af2226edc7f896bdbc4d2bbbd9c",\n "frame_key": null,\n "kind": "runtime",\n "script_key": null,\n "target_key": "example-target"\n }\n },\n "state": "observed"\n },\n "identifier_strategy": {\n "stability": "observation-exact",\n "strategy": "semantic-content-sha256"\n },\n "label": "Example",\n "observation_id": "jag_observation_844a03a29af96a0bcd4625e0377b67c439af68a462c5fa83009c7c27283c5dee",\n "properties": {\n "attached": false,\n "location": "/Applications/Example.app/Contents/Resources/app/index.html",\n "runtime_type": "page"\n }\n }\n ]\n }\n ],\n "root_node_ids": [\n "jag_node_3c82da5492d90eb5b0bee41c1a994d88b7ba98c0b4955270d70e57a76e224c2e",\n "jag_node_f360c35c86d4893fcf83ef0fdef92cebd688fba883aa39698a1c12dd5a237265"\n ],\n "schema": "JavaScriptApplicationGraph"\n },\n "limitations": [\n "A static module resident in an observed bundle is not reported as executed.",\n "Caller-declared file and URL mappings are inference inputs and do not expand CDP origin or filesystem-root authority.",\n "Digest equality establishes byte identity but not code reachability, module initialization, or feature execution.",\n "Not-observed means absent from the bounded captures in scope, never globally unloaded.",\n "Only caller-supplied, semantically verified Evidence records were reconciled.",\n "Source-map authority remains separate from passive runtime authority."\n ],\n "reconciliation_id": "jrr_ec50425a5a5a5cb85aa40f13f72dcba54a8ab16170d9421a0277fbdf0fa4c9eb",\n "reconciliations": [\n {\n "basis": "none",\n "candidate_static_count": 0,\n "candidate_static_nodes": [],\n "confidence": "unknown",\n "entity_kind": "target",\n "reason": "no-static-content-match",\n "reconciliation_id": "jrr_item_abd5635b06340f082ef46bff8802a361c7b30011085f1c9e7437b29b451c1e5e",\n "runtime_evidence_id": "ev_a42606ee799a093832ad3d6cfd0edd50dc9b99f78cc6d5d9130b734d48a56b4e",\n "runtime_node_id": "jag_node_f360c35c86d4893fcf83ef0fdef92cebd688fba883aa39698a1c12dd5a237265",\n "static_layer_id": null,\n "static_node_id": null,\n "status": "unmatched"\n },\n {\n "basis": "content-and-location",\n "candidate_static_count": 1,\n "candidate_static_nodes": [\n {\n "static_layer_id": "jrl_96fcfc590e7ca88f94b602638421674d8b13ccc7d25efff15a15b03c33b34753",\n "static_node_id": "jag_node_3c82da5492d90eb5b0bee41c1a994d88b7ba98c0b4955270d70e57a76e224c2e"\n }\n ],\n "confidence": "high",\n "entity_kind": "script",\n "reason": "content-and-location-match",\n "reconciliation_id": "jrr_item_ea9d751c4bf3a2234af56b80d5ac8a1f953da9a9477cd46586a62934ff4a5fb2",\n "runtime_evidence_id": "ev_a42606ee799a093832ad3d6cfd0edd50dc9b99f78cc6d5d9130b734d48a56b4e",\n "runtime_node_id": "jag_node_af8ea5d1909955f39da1d844b2cad8f2f68c34b7d575ded6d04c00fa4095a88e",\n "static_layer_id": "jrl_96fcfc590e7ca88f94b602638421674d8b13ccc7d25efff15a15b03c33b34753",\n "static_node_id": "jag_node_3c82da5492d90eb5b0bee41c1a994d88b7ba98c0b4955270d70e57a76e224c2e",\n "status": "matched"\n }\n ],\n "runtime_captures": [\n {\n "capture_sha256": "a4dd260f01b45e3df92482755baed7a1922b4af2226edc7f896bdbc4d2bbbd9c",\n "evidence_id": "ev_a42606ee799a093832ad3d6cfd0edd50dc9b99f78cc6d5d9130b734d48a56b4e",\n "frames": 0,\n "kind": "electron",\n "scripts": 1,\n "scripts_complete_within_scope": true,\n "target_key": "example-target",\n "target_location": "/Applications/Example.app/Contents/Resources/app/index.html",\n "target_node_id": "jag_node_f360c35c86d4893fcf83ef0fdef92cebd688fba883aa39698a1c12dd5a237265",\n "workers": 0\n }\n ],\n "source_map_authority": {\n "limitation": "Source-map declarations and original-source content retain separate static authority and are not used as primary runtime byte matches.",\n "runtime_script_declarations": 0,\n "static_layer_count": 1,\n "used_for_primary_matching": false\n },\n "static_layers": [\n {\n "evidence_id": "ev_a4ae2c7b5c501fb6dff695b168f35a6dd157fa957410910684f3a4ce4c8b5d54",\n "format": "directory",\n "graph_id": "jag_ab15669664efc0a86bb49c9c60241913cce6980dc2293fbeef6d9c862ca01d9d",\n "input_path": "/Applications/Example.app/Contents/Resources/app",\n "layer_id": "jrl_96fcfc590e7ca88f94b602638421674d8b13ccc7d25efff15a15b03c33b34753",\n "role": "application",\n "root_artifact_sha256": "1111111111111111111111111111111111111111111111111111111111111111",\n "runtime_mappings": []\n }\n ],\n "static_load_states": [\n {\n "kind": "javascript-asset",\n "reason": "runtime-script-correspondence",\n "runtime_node_ids": [\n "jag_node_af8ea5d1909955f39da1d844b2cad8f2f68c34b7d575ded6d04c00fa4095a88e"\n ],\n "static_layer_id": "jrl_96fcfc590e7ca88f94b602638421674d8b13ccc7d25efff15a15b03c33b34753",\n "static_node_id": "jag_node_3c82da5492d90eb5b0bee41c1a994d88b7ba98c0b4955270d70e57a76e224c2e",\n "status": "loaded"\n }\n ],\n "summary": {\n "ambiguous": 0,\n "matched": 1,\n "runtime_frames": 0,\n "runtime_scripts": 1,\n "runtime_targets": 1,\n "runtime_workers": 0,\n "static_loaded": 1,\n "static_not_observed": 0,\n "static_resident": 0,\n "static_unknown": 0,\n "unknown": 0,\n "unmatched": 1\n }\n },\n "operation": "reconcile_javascript_runtime",\n "parameters": {\n "runtime_evidence_ids": [\n "ev_a42606ee799a093832ad3d6cfd0edd50dc9b99f78cc6d5d9130b734d48a56b4e"\n ],\n "static_layers": [\n {\n "evidence_id": "ev_a4ae2c7b5c501fb6dff695b168f35a6dd157fa957410910684f3a4ce4c8b5d54",\n "role": "application",\n "runtime_mappings": []\n }\n ]\n },\n "predicate_type": "rea.javascript-runtime-reconciliation",\n "provider": {\n "id": "rea-javascript-runtime-reconciliation",\n "name": "REA JavaScript runtime reconciliation",\n "version": "1"\n },\n "raw_result": null,\n "subject": null\n },\n "right_export_name": "default",\n "right_module_path": "parser.mjs"\n },\n {\n "left": {\n "evidence_id": "ev_a4ae2c7b5c501fb6dff695b168f35a6dd157fa957410910684f3a4ce4c8b5d54",\n "kind": "retained-evidence"\n },\n "left_export_name": "default",\n "left_module_path": "parser.mjs",\n "right": {\n "evidence_id": "ev_c2754cf75e286b839ed825f247062067a6472acb1e7b6ce0f9aaceec6448d6d7",\n "kind": "retained-evidence"\n },\n "right_export_name": "default",\n "right_module_path": "parser.mjs"\n }\n ],\n "properties": {\n "left": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "description": "Value for analysis profile.",\n "properties": {\n "digest": {\n "description": "Value for digest.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "description": "Value for version.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "description": "Value for authority.",\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "description": "Value for confidence.",\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "description": "Value for architecture.",\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "description": "Value for isolation.",\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "description": "Value for platform.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for environment."\n },\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "description": "Value for evidence links.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "description": "Value for locations.",\n "items": {\n "oneOf": [\n {\n "properties": {\n "address": {\n "description": "Value for address.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "artifact-path",\n "description": "Value for kind.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "file-offset",\n "description": "Value for kind.",\n "type": "string"\n },\n "offset": {\n "description": "Value for offset.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0",\n "description": "Value for normalized result."\n },\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "description": "Value for predicate type.",\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for version."\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for raw result."\n },\n "subject": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "digest": {\n "description": "Value for digest.",\n "properties": {\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "description": "Declared input artifact format.",\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "description": "Local filesystem path for local.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for subject."\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "kind": {\n "const": "retained-evidence",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "evidence_id"\n ],\n "type": "object"\n }\n ],\n "description": "Left-hand input used for comparison or differential execution."\n },\n "left_export_name": {\n "description": "Value for left export name.",\n "minLength": 1,\n "type": "string"\n },\n "left_module_path": {\n "description": "Local filesystem path for left module.",\n "minLength": 1,\n "type": "string"\n },\n "right": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "description": "Value for analysis profile.",\n "properties": {\n "digest": {\n "description": "Value for digest.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "description": "Value for version.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "description": "Value for authority.",\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "description": "Value for confidence.",\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "description": "Value for architecture.",\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "description": "Value for isolation.",\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "description": "Value for platform.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for environment."\n },\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "description": "Value for evidence links.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "description": "Value for locations.",\n "items": {\n "oneOf": [\n {\n "properties": {\n "address": {\n "description": "Value for address.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "artifact-path",\n "description": "Value for kind.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "file-offset",\n "description": "Value for kind.",\n "type": "string"\n },\n "offset": {\n "description": "Value for offset.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0",\n "description": "Value for normalized result."\n },\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "description": "Value for predicate type.",\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for version."\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for raw result."\n },\n "subject": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "digest": {\n "description": "Value for digest.",\n "properties": {\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "description": "Declared input artifact format.",\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "description": "Local filesystem path for local.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for subject."\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "kind": {\n "const": "retained-evidence",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "evidence_id"\n ],\n "type": "object"\n }\n ],\n "description": "Right-hand input used for comparison or differential execution."\n },\n "right_export_name": {\n "description": "Value for right export name.",\n "minLength": 1,\n "type": "string"\n },\n "right_module_path": {\n "description": "Local filesystem path for right module.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "left_module_path",\n "left_export_name",\n "right_module_path",\n "right_export_name",\n "left",\n "right"\n ],\n "type": "object"\n },\n "kind": "application",\n "name": "compare_javascript_export_shapes",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "changes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "change_id": {\n "pattern": "^jesc_change_[a-f0-9]{64}$",\n "type": "string"\n },\n "discriminant": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "path": {\n "type": "string"\n },\n "value": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "path",\n "value"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "maxItems": 2,\n "minItems": 2,\n "type": "array"\n },\n "left": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "availability": {\n "const": "absent",\n "type": "string"\n }\n },\n "required": [\n "availability"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "availability": {\n "const": "literal",\n "type": "string"\n },\n "value": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "availability",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "availability": {\n "const": "union",\n "type": "string"\n },\n "values": {\n "items": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n }\n ]\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "availability",\n "values"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "availability": {\n "const": "unknown",\n "type": "string"\n },\n "reason": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "availability",\n "reason"\n ],\n "type": "object"\n }\n ]\n },\n "left_source_range": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "line",\n "column"\n ],\n "type": "object"\n },\n "start": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "line",\n "column"\n ],\n "type": "object"\n }\n },\n "required": [\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "path": {\n "type": "string"\n },\n "right": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "availability": {\n "const": "absent",\n "type": "string"\n }\n },\n "required": [\n "availability"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "availability": {\n "const": "literal",\n "type": "string"\n },\n "value": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "availability",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "availability": {\n "const": "union",\n "type": "string"\n },\n "values": {\n "items": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n }\n ]\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "availability",\n "values"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "availability": {\n "const": "unknown",\n "type": "string"\n },\n "reason": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "availability",\n "reason"\n ],\n "type": "object"\n }\n ]\n },\n "right_source_range": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "line",\n "column"\n ],\n "type": "object"\n },\n "start": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "line",\n "column"\n ],\n "type": "object"\n }\n },\n "required": [\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "enum": [\n "added",\n "removed",\n "changed",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "change_id",\n "status",\n "path",\n "discriminant",\n "left",\n "right",\n "left_source_range",\n "right_source_range",\n "evidence_links",\n "limitations"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "comparison_id": {\n "pattern": "^jesc_[a-f0-9]{64}$",\n "type": "string"\n },\n "coverage": {\n "additionalProperties": false,\n "properties": {\n "left_graph_status": {\n "enum": [\n "complete",\n "partial",\n "unknown",\n "unavailable"\n ],\n "type": "string"\n },\n "left_omitted_fields": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "left_omitted_property_coverage": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "left_source_omitted_variants": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "omitted_candidates": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "omitted_changes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "omitted_left_variants": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "omitted_right_variants": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "paired_variants": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "right_graph_status": {\n "enum": [\n "complete",\n "partial",\n "unknown",\n "unavailable"\n ],\n "type": "string"\n },\n "right_omitted_fields": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "right_omitted_property_coverage": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "right_source_omitted_variants": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "enum": [\n "complete-within-inputs",\n "partial",\n "truncated"\n ],\n "type": "string"\n },\n "unpaired_left_variants": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "unpaired_right_variants": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "status",\n "left_graph_status",\n "right_graph_status",\n "paired_variants",\n "unpaired_left_variants",\n "unpaired_right_variants",\n "omitted_left_variants",\n "omitted_right_variants",\n "left_source_omitted_variants",\n "right_source_omitted_variants",\n "left_omitted_fields",\n "right_omitted_fields",\n "left_omitted_property_coverage",\n "right_omitted_property_coverage",\n "omitted_candidates",\n "omitted_changes"\n ],\n "type": "object"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "maxItems": 2,\n "minItems": 2,\n "type": "array"\n },\n "left": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "candidates": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "export_name": {\n "minLength": 1,\n "type": "string"\n },\n "matches_requested_export": {\n "type": "boolean"\n },\n "matches_requested_module": {\n "type": "boolean"\n },\n "module_path": {\n "minLength": 1,\n "type": "string"\n },\n "node_id": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "node_id",\n "module_path",\n "export_name",\n "matches_requested_module",\n "matches_requested_export"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "graph_id": {\n "pattern": "^jag_[a-f0-9]{64}$",\n "type": "string"\n },\n "omitted_candidates": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "requested_export_name": {\n "minLength": 1,\n "type": "string"\n },\n "requested_module_path": {\n "minLength": 1,\n "type": "string"\n },\n "selected_node_id": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "status": {\n "const": "selected",\n "type": "string"\n }\n },\n "required": [\n "evidence_id",\n "graph_id",\n "requested_module_path",\n "requested_export_name",\n "candidates",\n "omitted_candidates",\n "status",\n "selected_node_id"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "candidates": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "export_name": {\n "minLength": 1,\n "type": "string"\n },\n "matches_requested_export": {\n "type": "boolean"\n },\n "matches_requested_module": {\n "type": "boolean"\n },\n "module_path": {\n "minLength": 1,\n "type": "string"\n },\n "node_id": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "node_id",\n "module_path",\n "export_name",\n "matches_requested_module",\n "matches_requested_export"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "graph_id": {\n "pattern": "^jag_[a-f0-9]{64}$",\n "type": "string"\n },\n "omitted_candidates": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "requested_export_name": {\n "minLength": 1,\n "type": "string"\n },\n "requested_module_path": {\n "minLength": 1,\n "type": "string"\n },\n "selected_node_id": {\n "type": "null"\n },\n "status": {\n "enum": [\n "missing",\n "ambiguous"\n ],\n "type": "string"\n }\n },\n "required": [\n "evidence_id",\n "graph_id",\n "requested_module_path",\n "requested_export_name",\n "candidates",\n "omitted_candidates",\n "status",\n "selected_node_id"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "candidates": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "export_name": {\n "minLength": 1,\n "type": "string"\n },\n "matches_requested_export": {\n "type": "boolean"\n },\n "matches_requested_module": {\n "type": "boolean"\n },\n "module_path": {\n "minLength": 1,\n "type": "string"\n },\n "node_id": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "node_id",\n "module_path",\n "export_name",\n "matches_requested_module",\n "matches_requested_export"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "graph_id": {\n "pattern": "^jag_[a-f0-9]{64}$",\n "type": "string"\n },\n "omitted_candidates": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "requested_export_name": {\n "minLength": 1,\n "type": "string"\n },\n "requested_module_path": {\n "minLength": 1,\n "type": "string"\n },\n "selected_node_id": {\n "anyOf": [\n {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "unavailable",\n "type": "string"\n }\n },\n "required": [\n "evidence_id",\n "graph_id",\n "requested_module_path",\n "requested_export_name",\n "candidates",\n "omitted_candidates",\n "status",\n "selected_node_id"\n ],\n "type": "object"\n }\n ]\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "right": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "candidates": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "export_name": {\n "minLength": 1,\n "type": "string"\n },\n "matches_requested_export": {\n "type": "boolean"\n },\n "matches_requested_module": {\n "type": "boolean"\n },\n "module_path": {\n "minLength": 1,\n "type": "string"\n },\n "node_id": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "node_id",\n "module_path",\n "export_name",\n "matches_requested_module",\n "matches_requested_export"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "graph_id": {\n "pattern": "^jag_[a-f0-9]{64}$",\n "type": "string"\n },\n "omitted_candidates": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "requested_export_name": {\n "minLength": 1,\n "type": "string"\n },\n "requested_module_path": {\n "minLength": 1,\n "type": "string"\n },\n "selected_node_id": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n },\n "status": {\n "const": "selected",\n "type": "string"\n }\n },\n "required": [\n "evidence_id",\n "graph_id",\n "requested_module_path",\n "requested_export_name",\n "candidates",\n "omitted_candidates",\n "status",\n "selected_node_id"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "candidates": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "export_name": {\n "minLength": 1,\n "type": "string"\n },\n "matches_requested_export": {\n "type": "boolean"\n },\n "matches_requested_module": {\n "type": "boolean"\n },\n "module_path": {\n "minLength": 1,\n "type": "string"\n },\n "node_id": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "node_id",\n "module_path",\n "export_name",\n "matches_requested_module",\n "matches_requested_export"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "graph_id": {\n "pattern": "^jag_[a-f0-9]{64}$",\n "type": "string"\n },\n "omitted_candidates": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "requested_export_name": {\n "minLength": 1,\n "type": "string"\n },\n "requested_module_path": {\n "minLength": 1,\n "type": "string"\n },\n "selected_node_id": {\n "type": "null"\n },\n "status": {\n "enum": [\n "missing",\n "ambiguous"\n ],\n "type": "string"\n }\n },\n "required": [\n "evidence_id",\n "graph_id",\n "requested_module_path",\n "requested_export_name",\n "candidates",\n "omitted_candidates",\n "status",\n "selected_node_id"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "candidates": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "export_name": {\n "minLength": 1,\n "type": "string"\n },\n "matches_requested_export": {\n "type": "boolean"\n },\n "matches_requested_module": {\n "type": "boolean"\n },\n "module_path": {\n "minLength": 1,\n "type": "string"\n },\n "node_id": {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "node_id",\n "module_path",\n "export_name",\n "matches_requested_module",\n "matches_requested_export"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "graph_id": {\n "pattern": "^jag_[a-f0-9]{64}$",\n "type": "string"\n },\n "omitted_candidates": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "requested_export_name": {\n "minLength": 1,\n "type": "string"\n },\n "requested_module_path": {\n "minLength": 1,\n "type": "string"\n },\n "selected_node_id": {\n "anyOf": [\n {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "unavailable",\n "type": "string"\n }\n },\n "required": [\n "evidence_id",\n "graph_id",\n "requested_module_path",\n "requested_export_name",\n "candidates",\n "omitted_candidates",\n "status",\n "selected_node_id"\n ],\n "type": "object"\n }\n ]\n },\n "summary": {\n "additionalProperties": false,\n "properties": {\n "added": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "changed": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "removed": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "unknown": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "added",\n "removed",\n "changed",\n "unknown"\n ],\n "type": "object"\n }\n },\n "required": [\n "comparison_id",\n "left",\n "right",\n "summary",\n "changes",\n "coverage",\n "evidence_links",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Compare Javascript Export Shapes"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Generate the complete deterministic ReconstructionObligationLedger from an authenticated Evidence 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. The inline result carries the full-ledger closure digest and typed per-obligation diagnostics.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "evidence_bundle": {\n "artifacts": [],\n "captures": [],\n "environments": [],\n "providers": [],\n "records": [],\n "scenarios": [],\n "unknowns": []\n },\n "manifest": {\n "bindings": [],\n "contradictions": []\n },\n "reviewed_obligations": []\n }\n ],\n "properties": {\n "evidence_bundle": {\n "description": "Value for evidence bundle.",\n "properties": {\n "artifacts": {\n "description": "Value for artifacts.",\n "items": {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "digest": {\n "description": "Value for digest.",\n "properties": {\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "description": "Declared input artifact format.",\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n }\n },\n "required": [\n "digest",\n "format",\n "architecture"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "captures": {\n "description": "Value for captures.",\n "items": {\n "properties": {\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "predicate_type": {\n "description": "Value for predicate type.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "evidence_id",\n "predicate_type"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "environments": {\n "description": "Value for environments.",\n "items": {\n "properties": {\n "architecture": {\n "description": "Value for architecture.",\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "description": "Value for isolation.",\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "description": "Value for platform.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "providers": {\n "description": "Value for providers.",\n "items": {\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for version."\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "records": {\n "description": "Value for records.",\n "items": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "description": "Value for analysis profile.",\n "properties": {\n "digest": {\n "description": "Value for digest.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "description": "Value for version.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "description": "Value for authority.",\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "description": "Value for confidence.",\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "description": "Value for architecture.",\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "description": "Value for isolation.",\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "description": "Value for platform.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for environment."\n },\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "description": "Value for evidence links.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "description": "Value for locations.",\n "items": {\n "oneOf": [\n {\n "properties": {\n "address": {\n "description": "Value for address.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "artifact-path",\n "description": "Value for kind.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "file-offset",\n "description": "Value for kind.",\n "type": "string"\n },\n "offset": {\n "description": "Value for offset.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0",\n "description": "Value for normalized result."\n },\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "description": "Value for predicate type.",\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for version."\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for raw result."\n },\n "subject": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "digest": {\n "description": "Value for digest.",\n "properties": {\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "description": "Declared input artifact format.",\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "description": "Local filesystem path for local.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for subject."\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links",\n "analysis_profile"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "authority": {\n "description": "Value for authority.",\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "description": "Value for confidence.",\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "description": "Value for architecture.",\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "description": "Value for isolation.",\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "description": "Value for platform.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for environment."\n },\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "description": "Value for evidence links.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "description": "Value for locations.",\n "items": {\n "oneOf": [\n {\n "properties": {\n "address": {\n "description": "Value for address.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "artifact-path",\n "description": "Value for kind.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "file-offset",\n "description": "Value for kind.",\n "type": "string"\n },\n "offset": {\n "description": "Value for offset.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0",\n "description": "Value for normalized result."\n },\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "description": "Value for predicate type.",\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for version."\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for raw result."\n },\n "subject": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "digest": {\n "description": "Value for digest.",\n "properties": {\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "description": "Declared input artifact format.",\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "description": "Local filesystem path for local.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for subject."\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "scenarios": {\n "description": "Value for scenarios.",\n "items": {\n "properties": {\n "authority": {\n "const": "controlled-replay",\n "description": "Value for authority.",\n "type": "string"\n },\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "evidence_id",\n "operation",\n "authority"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "unknowns": {\n "description": "Value for unknowns.",\n "items": {\n "properties": {\n "contradicting_evidence_ids": {\n "description": "Ordered Evidence identifiers for the contradicting observations.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "domain": {\n "description": "Value for domain.",\n "minLength": 1,\n "type": "string"\n },\n "mutation_evidence_ids": {\n "description": "Ordered Evidence identifiers for the mutation observations.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "previous_revision_digest": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for previous revision digest."\n },\n "question": {\n "description": "Concrete unresolved question to retain for later investigation.",\n "minLength": 1,\n "type": "string"\n },\n "recommended_probes": {\n "description": "Value for recommended probes.",\n "items": {\n "properties": {\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n },\n "rationale": {\n "description": "Value for rationale.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "operation",\n "rationale"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "relationships": {\n "description": "Value for relationships.",\n "items": {\n "properties": {\n "type": {\n "description": "Value for type.",\n "enum": [\n "depends-on",\n "related-to",\n "contradicts"\n ],\n "type": "string"\n },\n "unknown_id": {\n "description": "Exact residual-unknown identifier.",\n "pattern": "^unk_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "type",\n "unknown_id"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "required_authority": {\n "anyOf": [\n {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for required authority."\n },\n "required_confidence": {\n "description": "Value for required confidence.",\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "required_environment": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "id": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for id."\n },\n "isolation": {\n "anyOf": [\n {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for isolation."\n },\n "platform": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for platform."\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for required environment."\n },\n "resolution": {\n "anyOf": [\n {\n "oneOf": [\n {\n "properties": {\n "disposition": {\n "const": "verified",\n "description": "Value for disposition.",\n "type": "string"\n },\n "evidence_ids": {\n "description": "Value for evidence ids.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "rationale": {\n "description": "Value for rationale.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "disposition",\n "rationale",\n "evidence_ids"\n ],\n "type": "object"\n },\n {\n "properties": {\n "disposition": {\n "description": "Value for disposition.",\n "enum": [\n "withdrawn",\n "out-of-scope"\n ],\n "type": "string"\n },\n "evidence_ids": {\n "description": "Value for evidence ids.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "rationale": {\n "description": "Value for rationale.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "disposition",\n "rationale",\n "evidence_ids"\n ],\n "type": "object"\n }\n ]\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for resolution."\n },\n "revision": {\n "description": "Value for revision.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "revision_digest": {\n "description": "Value for revision digest.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "scope_digest": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for scope digest."\n },\n "severity": {\n "description": "Value for severity.",\n "enum": [\n "low",\n "medium",\n "high",\n "critical"\n ],\n "type": "string"\n },\n "status": {\n "description": "Current lifecycle or verification status.",\n "enum": [\n "open",\n "investigating",\n "blocked",\n "contradicted",\n "resolved"\n ],\n "type": "string"\n },\n "supporting_evidence_ids": {\n "description": "Ordered Evidence identifiers for the supporting observations.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "unknown_id": {\n "description": "Exact residual-unknown identifier.",\n "pattern": "^unk_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "unknown_id",\n "revision",\n "previous_revision_digest",\n "revision_digest",\n "scope_digest",\n "question",\n "status",\n "severity",\n "domain",\n "supporting_evidence_ids",\n "contradicting_evidence_ids",\n "required_authority",\n "required_confidence",\n "required_environment",\n "recommended_probes",\n "relationships",\n "resolution",\n "mutation_evidence_ids"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "artifacts",\n "providers",\n "environments",\n "scenarios",\n "captures",\n "unknowns",\n "records"\n ],\n "type": "object"\n },\n "manifest": {\n "additionalProperties": false,\n "description": "Value for manifest.",\n "properties": {\n "bindings": {\n "description": "Value for bindings.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "fixtures": {\n "description": "Value for fixtures.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "authority": {\n "description": "Value for authority.",\n "enum": [\n "unit",\n "integration",\n "protocol",\n "renderer",\n "packaged-process",\n "native-abi",\n "live-observation",\n "external"\n ],\n "type": "string"\n },\n "case_kind": {\n "description": "Value for case kind.",\n "enum": [\n "positive",\n "negative",\n "malformed",\n "cancellation",\n "teardown"\n ],\n "type": "string"\n },\n "evidence_ids": {\n "description": "Value for evidence ids.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "fixture_id": {\n "description": "Value for fixture id.",\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]*$",\n "type": "string"\n }\n },\n "required": [\n "fixture_id",\n "case_kind",\n "authority",\n "evidence_ids"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "obligation_id": {\n "description": "Value for obligation id.",\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]*$",\n "type": "string"\n },\n "original_cases": {\n "description": "Value for original cases.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "kind": {\n "description": "Value for kind.",\n "enum": [\n "positive",\n "negative",\n "malformed",\n "cancellation",\n "teardown"\n ],\n "type": "string"\n },\n "location": {\n "description": "Value for location.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "evidence_id",\n "location"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "owner": {\n "additionalProperties": false,\n "description": "Value for owner.",\n "properties": {\n "module_path": {\n "description": "Local filesystem path for module.",\n "minLength": 1,\n "type": "string"\n },\n "owner_sha256": {\n "description": "Exact SHA-256 digest of owner.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "symbol": {\n "description": "Value for symbol.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "module_path",\n "symbol",\n "owner_sha256"\n ],\n "type": "object"\n },\n "parser_type": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "domain_type": {\n "description": "Value for domain type.",\n "minLength": 1,\n "type": "string"\n },\n "parser": {\n "description": "Value for parser.",\n "minLength": 1,\n "type": "string"\n },\n "schema": {\n "description": "Value for schema.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "parser",\n "schema",\n "domain_type"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for parser type."\n },\n "verifier": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "authority": {\n "description": "Value for authority.",\n "enum": [\n "unit",\n "integration",\n "protocol",\n "renderer",\n "packaged-process",\n "native-abi",\n "live-observation",\n "external"\n ],\n "type": "string"\n },\n "claim_id": {\n "description": "Value for claim id.",\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]*$",\n "type": "string"\n },\n "command": {\n "description": "Value for command.",\n "minLength": 1,\n "type": "string"\n },\n "enumerated_obligation_ids": {\n "description": "Value for enumerated obligation ids.",\n "items": {\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]*$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "nondeterminism": {\n "additionalProperties": false,\n "description": "Value for nondeterminism.",\n "properties": {\n "mode": {\n "description": "Operation mode that selects the requested behavior.",\n "enum": [\n "total-order",\n "partial-order",\n "finite-traces"\n ],\n "type": "string"\n },\n "specification": {\n "description": "Value for specification.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "mode",\n "specification"\n ],\n "type": "object"\n },\n "result_evidence_id": {\n "description": "Exact Evidence identifier for the result observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "status": {\n "description": "Current lifecycle or verification status.",\n "enum": [\n "pass",\n "fail",\n "unknown",\n "unsupported",\n "skipped"\n ],\n "type": "string"\n },\n "verifier_id": {\n "description": "Value for verifier id.",\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]*$",\n "type": "string"\n }\n },\n "required": [\n "verifier_id",\n "claim_id",\n "command",\n "authority",\n "status",\n "result_evidence_id",\n "enumerated_obligation_ids",\n "nondeterminism"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for verifier."\n }\n },\n "required": [\n "obligation_id",\n "owner",\n "parser_type",\n "original_cases",\n "fixtures",\n "verifier"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "contradictions": {\n "description": "Value for contradictions.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "evidence_ids": {\n "description": "Value for evidence ids.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 2,\n "type": "array"\n },\n "obligation_id": {\n "description": "Value for obligation id.",\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]*$",\n "type": "string"\n }\n },\n "required": [\n "obligation_id",\n "evidence_ids"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "bindings",\n "contradictions"\n ],\n "type": "object"\n },\n "reviewed_obligations": {\n "description": "Value for reviewed obligations.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "application_layer": {\n "description": "Value for application layer.",\n "enum": [\n "cli",\n "protocol",\n "electron",\n "persistence",\n "process",\n "runtime",\n "packaging",\n "native-abi",\n "application",\n "other"\n ],\n "type": "string"\n },\n "dependency_obligation_ids": {\n "description": "Value for dependency obligation ids.",\n "items": {\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]*$",\n "type": "string"\n },\n "type": "array"\n },\n "disposition": {\n "description": "Value for disposition.",\n "enum": [\n "active",\n "blocked",\n "out-of-scope"\n ],\n "type": "string"\n },\n "family": {\n "description": "Value for family.",\n "minLength": 1,\n "type": "string"\n },\n "obligation_id": {\n "description": "Value for obligation id.",\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]*$",\n "type": "string"\n },\n "obligation_version": {\n "description": "Value for obligation version.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "required": {\n "description": "Value for required.",\n "type": "boolean"\n },\n "required_case_kinds": {\n "description": "Value for required case kinds.",\n "items": {\n "enum": [\n "positive",\n "negative",\n "malformed",\n "cancellation",\n "teardown"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "required_fixture_authority": {\n "description": "Value for required fixture authority.",\n "enum": [\n "unit",\n "integration",\n "protocol",\n "renderer",\n "packaged-process",\n "native-abi",\n "live-observation",\n "external"\n ],\n "type": "string"\n },\n "required_next_evidence": {\n "description": "Value for required next evidence.",\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "required_original_authority": {\n "description": "Value for required original authority.",\n "enum": [\n "static",\n "runtime",\n "process",\n "external"\n ],\n "type": "string"\n },\n "required_verifier_authority": {\n "description": "Value for required verifier authority.",\n "enum": [\n "unit",\n "integration",\n "protocol",\n "renderer",\n "packaged-process",\n "native-abi",\n "live-observation",\n "external"\n ],\n "type": "string"\n },\n "requires_parser_type": {\n "description": "Value for requires parser type.",\n "type": "boolean"\n },\n "residual_unknown_ids": {\n "description": "Value for residual unknown ids.",\n "items": {\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]*$",\n "type": "string"\n },\n "type": "array"\n },\n "review_evidence_ids": {\n "description": "Ordered Evidence identifiers for the review observations.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "target": {\n "additionalProperties": false,\n "description": "Value for target.",\n "properties": {\n "application_node_id": {\n "anyOf": [\n {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for application node id."\n },\n "artifact_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Exact SHA-256 digest of artifact."\n },\n "location": {\n "description": "Value for location.",\n "minLength": 1,\n "type": "string"\n },\n "semantic_node_id": {\n "anyOf": [\n {\n "pattern": "^jsrg_node_[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for semantic node id."\n }\n },\n "required": [\n "artifact_sha256",\n "application_node_id",\n "semantic_node_id",\n "location"\n ],\n "type": "object"\n },\n "title": {\n "description": "Value for title.",\n "minLength": 1,\n "type": "string"\n },\n "unavailable_authority": {\n "description": "Value for unavailable authority.",\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n }\n },\n "required": [\n "obligation_id",\n "obligation_version",\n "title",\n "application_layer",\n "family",\n "target",\n "required",\n "required_case_kinds",\n "required_original_authority",\n "required_fixture_authority",\n "required_verifier_authority",\n "requires_parser_type",\n "dependency_obligation_ids",\n "residual_unknown_ids",\n "unavailable_authority",\n "required_next_evidence",\n "disposition",\n "review_evidence_ids"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "evidence_bundle",\n "reviewed_obligations",\n "manifest"\n ],\n "type": "object"\n },\n "kind": "application",\n "name": "build_reconstruction_obligation_ledger",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "closure_digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "coverage": {\n "additionalProperties": false,\n "properties": {\n "status": {\n "enum": [\n "complete",\n "partial"\n ],\n "type": "string"\n }\n },\n "required": [\n "status"\n ],\n "type": "object"\n },\n "dependency_graph": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "depends_on_obligation_id": {\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]*$",\n "type": "string"\n },\n "obligation_id": {\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]*$",\n "type": "string"\n }\n },\n "required": [\n "obligation_id",\n "depends_on_obligation_id"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "ledger_id": {\n "pattern": "^rol_[a-f0-9]{64}$",\n "type": "string"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "obligations": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "application_layer": {\n "enum": [\n "cli",\n "protocol",\n "electron",\n "persistence",\n "process",\n "runtime",\n "packaging",\n "native-abi",\n "application",\n "other"\n ],\n "type": "string"\n },\n "authority_references": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "location": {\n "minLength": 1,\n "type": "string"\n },\n "state": {\n "enum": [\n "candidate",\n "observed",\n "reviewed",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "evidence_id",\n "authority",\n "state",\n "location"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "binding": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "fixtures": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "authority": {\n "enum": [\n "unit",\n "integration",\n "protocol",\n "renderer",\n "packaged-process",\n "native-abi",\n "live-observation",\n "external"\n ],\n "type": "string"\n },\n "case_kind": {\n "enum": [\n "positive",\n "negative",\n "malformed",\n "cancellation",\n "teardown"\n ],\n "type": "string"\n },\n "evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "fixture_id": {\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]*$",\n "type": "string"\n }\n },\n "required": [\n "fixture_id",\n "case_kind",\n "authority",\n "evidence_ids"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "obligation_id": {\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]*$",\n "type": "string"\n },\n "original_cases": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "kind": {\n "enum": [\n "positive",\n "negative",\n "malformed",\n "cancellation",\n "teardown"\n ],\n "type": "string"\n },\n "location": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "evidence_id",\n "location"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "owner": {\n "additionalProperties": false,\n "properties": {\n "module_path": {\n "minLength": 1,\n "type": "string"\n },\n "owner_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "symbol": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "module_path",\n "symbol",\n "owner_sha256"\n ],\n "type": "object"\n },\n "parser_type": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "domain_type": {\n "minLength": 1,\n "type": "string"\n },\n "parser": {\n "minLength": 1,\n "type": "string"\n },\n "schema": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "parser",\n "schema",\n "domain_type"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "verifier": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "authority": {\n "enum": [\n "unit",\n "integration",\n "protocol",\n "renderer",\n "packaged-process",\n "native-abi",\n "live-observation",\n "external"\n ],\n "type": "string"\n },\n "claim_id": {\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]*$",\n "type": "string"\n },\n "command": {\n "minLength": 1,\n "type": "string"\n },\n "enumerated_obligation_ids": {\n "items": {\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]*$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "nondeterminism": {\n "additionalProperties": false,\n "properties": {\n "mode": {\n "enum": [\n "total-order",\n "partial-order",\n "finite-traces"\n ],\n "type": "string"\n },\n "specification": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "mode",\n "specification"\n ],\n "type": "object"\n },\n "result_evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "status": {\n "enum": [\n "pass",\n "fail",\n "unknown",\n "unsupported",\n "skipped"\n ],\n "type": "string"\n },\n "verifier_id": {\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]*$",\n "type": "string"\n }\n },\n "required": [\n "verifier_id",\n "claim_id",\n "command",\n "authority",\n "status",\n "result_evidence_id",\n "enumerated_obligation_ids",\n "nondeterminism"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "obligation_id",\n "owner",\n "parser_type",\n "original_cases",\n "fixtures",\n "verifier"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "dependency_obligation_ids": {\n "items": {\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]*$",\n "type": "string"\n },\n "type": "array"\n },\n "diagnostics": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "code": {\n "enum": [\n "duplicate-definition",\n "missing-owner",\n "ambiguous-owner",\n "missing-parser-type",\n "missing-original-case",\n "weak-original-case-authority",\n "missing-case",\n "weak-fixture-authority",\n "missing-verifier",\n "verifier-does-not-enumerate",\n "missing-verifier-result",\n "weak-verifier-authority",\n "verifier-failed",\n "static-only",\n "contradiction",\n "contradiction-evidence-missing",\n "residual-unknown",\n "dependency-missing",\n "dependency-open",\n "unavailable-authority",\n "blocked",\n "out-of-scope"\n ],\n "type": "string"\n },\n "detail": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "code",\n "detail"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "family": {\n "minLength": 1,\n "type": "string"\n },\n "obligation_id": {\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]*$",\n "type": "string"\n },\n "obligation_version": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "observed_cases": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "kind": {\n "enum": [\n "positive",\n "negative",\n "malformed",\n "cancellation",\n "teardown"\n ],\n "type": "string"\n },\n "location": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "evidence_id",\n "location"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "origin": {\n "enum": [\n "generated",\n "reviewed"\n ],\n "type": "string"\n },\n "required": {\n "type": "boolean"\n },\n "required_case_kinds": {\n "items": {\n "enum": [\n "positive",\n "negative",\n "malformed",\n "cancellation",\n "teardown"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "required_fixture_authority": {\n "enum": [\n "unit",\n "integration",\n "protocol",\n "renderer",\n "packaged-process",\n "native-abi",\n "live-observation",\n "external"\n ],\n "type": "string"\n },\n "required_next_evidence": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "required_original_authority": {\n "enum": [\n "static",\n "runtime",\n "process",\n "external"\n ],\n "type": "string"\n },\n "required_verifier_authority": {\n "enum": [\n "unit",\n "integration",\n "protocol",\n "renderer",\n "packaged-process",\n "native-abi",\n "live-observation",\n "external"\n ],\n "type": "string"\n },\n "requires_parser_type": {\n "type": "boolean"\n },\n "residual_unknown_ids": {\n "items": {\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]*$",\n "type": "string"\n },\n "type": "array"\n },\n "source_state": {\n "enum": [\n "candidate",\n "observed",\n "reviewed",\n "unknown"\n ],\n "type": "string"\n },\n "status": {\n "enum": [\n "unowned",\n "characterized",\n "implemented",\n "verified",\n "contradicted",\n "blocked",\n "out-of-scope",\n "unknown"\n ],\n "type": "string"\n },\n "target": {\n "additionalProperties": false,\n "properties": {\n "application_node_id": {\n "anyOf": [\n {\n "pattern": "^jag_node_[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "artifact_sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "location": {\n "minLength": 1,\n "type": "string"\n },\n "semantic_node_id": {\n "anyOf": [\n {\n "pattern": "^jsrg_node_[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "artifact_sha256",\n "application_node_id",\n "semantic_node_id",\n "location"\n ],\n "type": "object"\n },\n "title": {\n "minLength": 1,\n "type": "string"\n },\n "unavailable_authority": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n }\n },\n "required": [\n "obligation_id",\n "obligation_version",\n "title",\n "origin",\n "application_layer",\n "family",\n "target",\n "authority_references",\n "source_state",\n "observed_cases",\n "required",\n "required_case_kinds",\n "required_original_authority",\n "required_fixture_authority",\n "required_verifier_authority",\n "requires_parser_type",\n "dependency_obligation_ids",\n "residual_unknown_ids",\n "unavailable_authority",\n "required_next_evidence",\n "binding",\n "status",\n "diagnostics"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "ownership_graph": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "module_path": {\n "minLength": 1,\n "type": "string"\n },\n "obligation_id": {\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]*$",\n "type": "string"\n },\n "symbol": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "obligation_id",\n "module_path",\n "symbol"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "reports": {\n "additionalProperties": false,\n "properties": {\n "contradicted_obligation_ids": {\n "items": {\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]*$",\n "type": "string"\n },\n "type": "array"\n },\n "missing_owner_obligation_ids": {\n "items": {\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]*$",\n "type": "string"\n },\n "type": "array"\n },\n "missing_verifier_obligation_ids": {\n "items": {\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]*$",\n "type": "string"\n },\n "type": "array"\n },\n "residual_unknown_ids": {\n "items": {\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]*$",\n "type": "string"\n },\n "type": "array"\n }\n },\n "required": [\n "missing_owner_obligation_ids",\n "missing_verifier_obligation_ids",\n "contradicted_obligation_ids",\n "residual_unknown_ids"\n ],\n "type": "object"\n },\n "schema": {\n "const": "ReconstructionObligationLedger",\n "type": "string"\n },\n "status": {\n "enum": [\n "ready",\n "open",\n "failed",\n "unknown"\n ],\n "type": "string"\n },\n "summary": {\n "additionalProperties": false,\n "properties": {\n "by_application_layer": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "count": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "key": {\n "enum": [\n "cli",\n "protocol",\n "electron",\n "persistence",\n "process",\n "runtime",\n "packaging",\n "native-abi",\n "application",\n "other"\n ],\n "type": "string"\n }\n },\n "required": [\n "key",\n "count"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "by_evidence_authority": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "count": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "key": {\n "enum": [\n "candidate",\n "observed",\n "reviewed",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "key",\n "count"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "by_status": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "count": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "key": {\n "enum": [\n "unowned",\n "characterized",\n "implemented",\n "verified",\n "contradicted",\n "blocked",\n "out-of-scope",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "key",\n "count"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "required": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "required_open": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "total": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "verified": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "total",\n "required",\n "verified",\n "required_open",\n "by_status",\n "by_application_layer",\n "by_evidence_authority"\n ],\n "type": "object"\n }\n },\n "required": [\n "schema",\n "ledger_id",\n "closure_digest",\n "status",\n "coverage",\n "summary",\n "reports",\n "ownership_graph",\n "dependency_graph",\n "obligations",\n "evidence_links",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Build Reconstruction Obligation Ledger"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": true\n },\n "description": "Evaluate inline evidence-backed reconstruction coverage against one named boundary. 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.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": false,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "boundary_id": "replacement.cli",\n "coverage": {\n "artifacts": [],\n "boundaries": [\n {\n "allowed_dispositions": [],\n "allowed_unknown_ids": [],\n "boundary_id": "replacement.cli",\n "required_claim_ids": [\n "claim.cli.help"\n ],\n "required_package_proof_kinds": [\n "clean-install",\n "authority-independence"\n ],\n "required_surface_ids": [\n "cli.help"\n ],\n "title": "CLI replacement"\n }\n ],\n "claims": [],\n "contradictions": [],\n "evidence_bundle": {\n "artifacts": [],\n "captures": [],\n "environments": [],\n "providers": [],\n "records": [],\n "scenarios": [],\n "unknowns": []\n },\n "owners": [],\n "package_proofs": [],\n "residual_unknown_ids": [],\n "surfaces": [],\n "verifier_contracts": [],\n "verifier_results": []\n }\n }\n ],\n "properties": {\n "boundary_id": {\n "description": "Exact reconstruction boundary identifier to evaluate.",\n "minLength": 1,\n "type": "string"\n },\n "coverage": {\n "additionalProperties": false,\n "description": "Exact reconstruction-coverage commitment to verify.",\n "properties": {\n "artifacts": {\n "description": "Value for artifacts.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "artifact_id": {\n "description": "Value for artifact id.",\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]{0,199}$",\n "type": "string"\n },\n "artifact_sha256": {\n "description": "Exact SHA-256 digest of artifact.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "environment_sha256": {\n "description": "Exact SHA-256 digest of environment.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_ids": {\n "description": "Value for evidence ids.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "version": {\n "description": "Value for version.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "artifact_id",\n "artifact_sha256",\n "version",\n "environment_sha256",\n "evidence_ids"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "boundaries": {\n "description": "Value for boundaries.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "allowed_dispositions": {\n "description": "Value for allowed dispositions.",\n "items": {\n "enum": [\n "external",\n "non-goal"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "allowed_unknown_ids": {\n "description": "Value for allowed unknown ids.",\n "items": {\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]{0,199}$",\n "type": "string"\n },\n "type": "array"\n },\n "boundary_id": {\n "description": "Exact reconstruction boundary identifier to evaluate.",\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]{0,199}$",\n "type": "string"\n },\n "required_claim_ids": {\n "description": "Value for required claim ids.",\n "items": {\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]{0,199}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "required_package_proof_kinds": {\n "description": "Value for required package proof kinds.",\n "items": {\n "enum": [\n "build",\n "clean-install",\n "package-contents",\n "runtime-routing",\n "authority-independence"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "required_surface_ids": {\n "description": "Value for required surface ids.",\n "items": {\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]{0,199}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "title": {\n "description": "Value for title.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "boundary_id",\n "title",\n "required_surface_ids",\n "required_claim_ids",\n "required_package_proof_kinds",\n "allowed_dispositions",\n "allowed_unknown_ids"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "claims": {\n "description": "Value for claims.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "claim_id": {\n "description": "Value for claim id.",\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]{0,199}$",\n "type": "string"\n },\n "kind": {\n "description": "Value for kind.",\n "minLength": 1,\n "type": "string"\n },\n "required_authority": {\n "description": "Value for required authority.",\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "live-observation",\n "external"\n ],\n "type": "string"\n },\n "required_dimensions": {\n "description": "Value for required dimensions.",\n "items": {\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]{0,199}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "surface_ids": {\n "description": "Value for surface ids.",\n "items": {\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]{0,199}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "title": {\n "description": "Value for title.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "claim_id",\n "title",\n "kind",\n "surface_ids",\n "required_dimensions",\n "required_authority"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "contradictions": {\n "description": "Value for contradictions.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "claim_ids": {\n "description": "Value for claim ids.",\n "items": {\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]{0,199}$",\n "type": "string"\n },\n "type": "array"\n },\n "contradiction_id": {\n "description": "Value for contradiction id.",\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]{0,199}$",\n "type": "string"\n },\n "evidence_ids": {\n "description": "Value for evidence ids.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 2,\n "type": "array"\n },\n "status": {\n "description": "Current lifecycle or verification status.",\n "enum": [\n "active",\n "resolved"\n ],\n "type": "string"\n },\n "surface_ids": {\n "description": "Value for surface ids.",\n "items": {\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]{0,199}$",\n "type": "string"\n },\n "type": "array"\n }\n },\n "required": [\n "contradiction_id",\n "status",\n "surface_ids",\n "claim_ids",\n "evidence_ids"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "evidence_bundle": {\n "description": "Value for evidence bundle.",\n "properties": {\n "artifacts": {\n "description": "Value for artifacts.",\n "items": {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "digest": {\n "description": "Value for digest.",\n "properties": {\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "description": "Declared input artifact format.",\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n }\n },\n "required": [\n "digest",\n "format",\n "architecture"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "captures": {\n "description": "Value for captures.",\n "items": {\n "properties": {\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "predicate_type": {\n "description": "Value for predicate type.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "evidence_id",\n "predicate_type"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "environments": {\n "description": "Value for environments.",\n "items": {\n "properties": {\n "architecture": {\n "description": "Value for architecture.",\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "description": "Value for isolation.",\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "description": "Value for platform.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "providers": {\n "description": "Value for providers.",\n "items": {\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for version."\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "records": {\n "description": "Value for records.",\n "items": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "description": "Value for analysis profile.",\n "properties": {\n "digest": {\n "description": "Value for digest.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "description": "Value for version.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "description": "Value for authority.",\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "description": "Value for confidence.",\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "description": "Value for architecture.",\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "description": "Value for isolation.",\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "description": "Value for platform.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for environment."\n },\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "description": "Value for evidence links.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "description": "Value for locations.",\n "items": {\n "oneOf": [\n {\n "properties": {\n "address": {\n "description": "Value for address.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "artifact-path",\n "description": "Value for kind.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "file-offset",\n "description": "Value for kind.",\n "type": "string"\n },\n "offset": {\n "description": "Value for offset.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0",\n "description": "Value for normalized result."\n },\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "description": "Value for predicate type.",\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for version."\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for raw result."\n },\n "subject": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "digest": {\n "description": "Value for digest.",\n "properties": {\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "description": "Declared input artifact format.",\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "description": "Local filesystem path for local.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for subject."\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links",\n "analysis_profile"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "authority": {\n "description": "Value for authority.",\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "description": "Value for confidence.",\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "description": "Value for architecture.",\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "description": "Value for isolation.",\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "description": "Value for platform.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for environment."\n },\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "description": "Value for evidence links.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "description": "Value for locations.",\n "items": {\n "oneOf": [\n {\n "properties": {\n "address": {\n "description": "Value for address.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "artifact-path",\n "description": "Value for kind.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "file-offset",\n "description": "Value for kind.",\n "type": "string"\n },\n "offset": {\n "description": "Value for offset.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0",\n "description": "Value for normalized result."\n },\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "description": "Value for predicate type.",\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for version."\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for raw result."\n },\n "subject": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "digest": {\n "description": "Value for digest.",\n "properties": {\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "description": "Declared input artifact format.",\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "description": "Local filesystem path for local.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for subject."\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "scenarios": {\n "description": "Value for scenarios.",\n "items": {\n "properties": {\n "authority": {\n "const": "controlled-replay",\n "description": "Value for authority.",\n "type": "string"\n },\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "evidence_id",\n "operation",\n "authority"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "unknowns": {\n "description": "Value for unknowns.",\n "items": {\n "properties": {\n "contradicting_evidence_ids": {\n "description": "Ordered Evidence identifiers for the contradicting observations.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "domain": {\n "description": "Value for domain.",\n "minLength": 1,\n "type": "string"\n },\n "mutation_evidence_ids": {\n "description": "Ordered Evidence identifiers for the mutation observations.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "previous_revision_digest": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for previous revision digest."\n },\n "question": {\n "description": "Concrete unresolved question to retain for later investigation.",\n "minLength": 1,\n "type": "string"\n },\n "recommended_probes": {\n "description": "Value for recommended probes.",\n "items": {\n "properties": {\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n },\n "rationale": {\n "description": "Value for rationale.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "operation",\n "rationale"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "relationships": {\n "description": "Value for relationships.",\n "items": {\n "properties": {\n "type": {\n "description": "Value for type.",\n "enum": [\n "depends-on",\n "related-to",\n "contradicts"\n ],\n "type": "string"\n },\n "unknown_id": {\n "description": "Exact residual-unknown identifier.",\n "pattern": "^unk_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "type",\n "unknown_id"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "required_authority": {\n "anyOf": [\n {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for required authority."\n },\n "required_confidence": {\n "description": "Value for required confidence.",\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "required_environment": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "id": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for id."\n },\n "isolation": {\n "anyOf": [\n {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for isolation."\n },\n "platform": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for platform."\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for required environment."\n },\n "resolution": {\n "anyOf": [\n {\n "oneOf": [\n {\n "properties": {\n "disposition": {\n "const": "verified",\n "description": "Value for disposition.",\n "type": "string"\n },\n "evidence_ids": {\n "description": "Value for evidence ids.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "rationale": {\n "description": "Value for rationale.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "disposition",\n "rationale",\n "evidence_ids"\n ],\n "type": "object"\n },\n {\n "properties": {\n "disposition": {\n "description": "Value for disposition.",\n "enum": [\n "withdrawn",\n "out-of-scope"\n ],\n "type": "string"\n },\n "evidence_ids": {\n "description": "Value for evidence ids.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "rationale": {\n "description": "Value for rationale.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "disposition",\n "rationale",\n "evidence_ids"\n ],\n "type": "object"\n }\n ]\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for resolution."\n },\n "revision": {\n "description": "Value for revision.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "revision_digest": {\n "description": "Value for revision digest.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "scope_digest": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for scope digest."\n },\n "severity": {\n "description": "Value for severity.",\n "enum": [\n "low",\n "medium",\n "high",\n "critical"\n ],\n "type": "string"\n },\n "status": {\n "description": "Current lifecycle or verification status.",\n "enum": [\n "open",\n "investigating",\n "blocked",\n "contradicted",\n "resolved"\n ],\n "type": "string"\n },\n "supporting_evidence_ids": {\n "description": "Ordered Evidence identifiers for the supporting observations.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "unknown_id": {\n "description": "Exact residual-unknown identifier.",\n "pattern": "^unk_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "unknown_id",\n "revision",\n "previous_revision_digest",\n "revision_digest",\n "scope_digest",\n "question",\n "status",\n "severity",\n "domain",\n "supporting_evidence_ids",\n "contradicting_evidence_ids",\n "required_authority",\n "required_confidence",\n "required_environment",\n "recommended_probes",\n "relationships",\n "resolution",\n "mutation_evidence_ids"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "artifacts",\n "providers",\n "environments",\n "scenarios",\n "captures",\n "unknowns",\n "records"\n ],\n "type": "object"\n },\n "owners": {\n "description": "Value for owners.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "ownership": {\n "description": "Value for ownership.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "authority_route": {\n "description": "Value for authority route.",\n "enum": [\n "none",\n "detected",\n "unknown"\n ],\n "type": "string"\n },\n "disposition": {\n "const": "implemented",\n "description": "Value for disposition.",\n "type": "string"\n },\n "owner_export": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for owner export."\n },\n "owner_path": {\n "description": "Local filesystem path for owner.",\n "minLength": 1,\n "type": "string"\n },\n "owner_sha256": {\n "description": "Exact SHA-256 digest of owner.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "package_state": {\n "description": "Value for package state.",\n "enum": [\n "distributed",\n "missing",\n "unknown"\n ],\n "type": "string"\n },\n "path_state": {\n "description": "Value for path state.",\n "enum": [\n "present",\n "missing",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "disposition",\n "owner_path",\n "owner_export",\n "owner_sha256",\n "path_state",\n "package_state",\n "authority_route"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "disposition": {\n "description": "Value for disposition.",\n "enum": [\n "external",\n "non-goal"\n ],\n "type": "string"\n },\n "rationale": {\n "description": "Value for rationale.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "disposition",\n "rationale"\n ],\n "type": "object"\n }\n ]\n },\n "surface_id": {\n "description": "Value for surface id.",\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]{0,199}$",\n "type": "string"\n }\n },\n "required": [\n "surface_id",\n "ownership"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "package_proofs": {\n "description": "Value for package proofs.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "artifact_sha256s": {\n "description": "Value for artifact sha256s.",\n "items": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "evidence_ids": {\n "description": "Value for evidence ids.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "kind": {\n "description": "Value for kind.",\n "enum": [\n "build",\n "clean-install",\n "package-contents",\n "runtime-routing",\n "authority-independence"\n ],\n "type": "string"\n },\n "proof_id": {\n "description": "Value for proof id.",\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]{0,199}$",\n "type": "string"\n },\n "status": {\n "description": "Current lifecycle or verification status.",\n "enum": [\n "pass",\n "fail",\n "unknown",\n "unsupported",\n "skipped"\n ],\n "type": "string"\n }\n },\n "required": [\n "proof_id",\n "kind",\n "status",\n "artifact_sha256s",\n "evidence_ids"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "residual_unknown_ids": {\n "description": "Value for residual unknown ids.",\n "items": {\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]{0,199}$",\n "type": "string"\n },\n "type": "array"\n },\n "surfaces": {\n "description": "Value for surfaces.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "artifact_id": {\n "description": "Value for artifact id.",\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]{0,199}$",\n "type": "string"\n },\n "authority": {\n "description": "Value for authority.",\n "enum": [\n "observed",\n "derived",\n "inferred",\n "historical",\n "external"\n ],\n "type": "string"\n },\n "dependency_surface_ids": {\n "description": "Value for dependency surface ids.",\n "items": {\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]{0,199}$",\n "type": "string"\n },\n "type": "array"\n },\n "evidence_ids": {\n "description": "Value for evidence ids.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "family": {\n "description": "Value for family.",\n "minLength": 1,\n "type": "string"\n },\n "location": {\n "description": "Value for location.",\n "minLength": 1,\n "type": "string"\n },\n "occurrence_id": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for occurrence id."\n },\n "surface_id": {\n "description": "Value for surface id.",\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]{0,199}$",\n "type": "string"\n }\n },\n "required": [\n "surface_id",\n "family",\n "artifact_id",\n "occurrence_id",\n "location",\n "authority",\n "dependency_surface_ids",\n "evidence_ids"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "verifier_contracts": {\n "description": "Value for verifier contracts.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "authority": {\n "description": "Value for authority.",\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "live-observation",\n "external"\n ],\n "type": "string"\n },\n "claim_ids": {\n "description": "Value for claim ids.",\n "items": {\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]{0,199}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "contract_sha256": {\n "description": "Exact SHA-256 digest of contract.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "dimensions": {\n "description": "Value for dimensions.",\n "items": {\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]{0,199}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "max_age_ms": {\n "description": "Maximum permitted age ms for this operation.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "minimum_repeats": {\n "description": "Value for minimum repeats.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "normalization_removes_dimensions": {\n "const": false,\n "description": "Value for normalization removes dimensions.",\n "type": "boolean"\n },\n "normalization_sha256": {\n "description": "Exact SHA-256 digest of normalization.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "verifier_id": {\n "description": "Value for verifier id.",\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]{0,199}$",\n "type": "string"\n }\n },\n "required": [\n "verifier_id",\n "claim_ids",\n "dimensions",\n "authority",\n "max_age_ms",\n "minimum_repeats",\n "normalization_sha256",\n "normalization_removes_dimensions",\n "contract_sha256"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "verifier_results": {\n "description": "Value for verifier results.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "artifact_sha256s": {\n "description": "Value for artifact sha256s.",\n "items": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "contract_sha256": {\n "description": "Exact SHA-256 digest of contract.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "covered_claim_ids": {\n "description": "Value for covered claim ids.",\n "items": {\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]{0,199}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "covered_dimensions": {\n "description": "Value for covered dimensions.",\n "items": {\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]{0,199}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "evidence_ids": {\n "description": "Value for evidence ids.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "normalization_sha256": {\n "description": "Exact SHA-256 digest of normalization.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "observed_at": {\n "description": "Value for observed at.",\n "format": "date-time",\n "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)))$",\n "type": "string"\n },\n "owner_sha256s": {\n "description": "Value for owner sha256s.",\n "items": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "repeats": {\n "description": "Value for repeats.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "status": {\n "description": "Current lifecycle or verification status.",\n "enum": [\n "pass",\n "fail",\n "unknown",\n "unsupported",\n "truncated",\n "skipped"\n ],\n "type": "string"\n },\n "verifier_id": {\n "description": "Value for verifier id.",\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]{0,199}$",\n "type": "string"\n }\n },\n "required": [\n "verifier_id",\n "contract_sha256",\n "observed_at",\n "status",\n "covered_claim_ids",\n "covered_dimensions",\n "artifact_sha256s",\n "owner_sha256s",\n "normalization_sha256",\n "repeats",\n "evidence_ids"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "evidence_bundle",\n "artifacts",\n "surfaces",\n "owners",\n "claims",\n "verifier_contracts",\n "verifier_results",\n "residual_unknown_ids",\n "contradictions",\n "package_proofs",\n "boundaries"\n ],\n "type": "object"\n }\n },\n "required": [\n "coverage",\n "boundary_id"\n ],\n "type": "object"\n },\n "kind": "application",\n "name": "evaluate_reconstruction_coverage",\n "outputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "boundary_id": {\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]{0,199}$",\n "type": "string"\n },\n "evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "reasons": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "code": {\n "enum": [\n "surface-missing",\n "owner-missing",\n "owner-duplicate",\n "owner-path-missing",\n "owner-path-unknown",\n "owner-undistributed",\n "owner-distribution-unknown",\n "authority-routing-detected",\n "authority-routing-unknown",\n "disposition-not-allowed",\n "dependency-surface-missing",\n "claim-missing",\n "verifier-missing",\n "verifier-duplicate",\n "verifier-result-missing",\n "verifier-result-stale",\n "verifier-result-incompatible",\n "verifier-failed",\n "verifier-unknown",\n "active-unknown",\n "active-contradiction",\n "package-proof-missing",\n "package-proof-failed",\n "package-proof-unknown"\n ],\n "type": "string"\n },\n "detail": {\n "minLength": 1,\n "type": "string"\n },\n "subject_id": {\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]{0,199}$",\n "type": "string"\n }\n },\n "required": [\n "code",\n "subject_id",\n "detail"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "recommended_probes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "operation": {\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]{0,199}$",\n "type": "string"\n },\n "rationale": {\n "minLength": 1,\n "type": "string"\n },\n "subject_id": {\n "pattern": "^[A-Za-z][A-Za-z0-9._:/-]{0,199}$",\n "type": "string"\n }\n },\n "required": [\n "operation",\n "subject_id",\n "rationale"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "status": {\n "enum": [\n "partial",\n "failed",\n "unknown",\n "ready"\n ],\n "type": "string"\n },\n "summary": {\n "additionalProperties": false,\n "properties": {\n "reasons": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "required_claims": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "required_surfaces": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "required_surfaces",\n "required_claims",\n "reasons"\n ],\n "type": "object"\n }\n },\n "required": [\n "boundary_id",\n "status",\n "summary",\n "reasons",\n "recommended_probes",\n "evidence_ids"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Evaluate Reconstruction Coverage"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Project authenticated APK inventory_artifact Evidence into an execution-free Android application inventory. Reports exact component paths and hashes, runtime-family hints, and path-based bridge hypotheses without decoding DEX, executing the APK, or claiming observed runtime calls.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "inventory_evidence": [\n {\n "authority": "shipped-artifact",\n "confidence": "observed",\n "environment": null,\n "evidence_id": "ev_3cb45ae987278620b8d5a62638296cd49034f8b1dfb88d0196764a1088821e3c",\n "evidence_links": [],\n "limitations": [],\n "locations": [],\n "normalized_result": {\n "edges": [],\n "limitations": [],\n "manifest": {\n "edge_count": 0,\n "graph_sha256": "a4cea3d85dfa8645e5eb026d0dfa82ab19b686bb15964afc5e3f874b14c76de8",\n "manifest_id": "agm_972f60433a8998c511f3b02ee759a41cd1ea2e19ba6c4133b7ac52297944dbb3",\n "node_count": 1,\n "occurrence_count": 1,\n "root_artifact_id": "art_91d55c997599a1b301a52f2ad8559a9f2bfa28927d7cb2c391f3cedf6072ccdd",\n "root_format": "apk",\n "root_sha256": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"\n },\n "nodes": [\n {\n "architecture": null,\n "artifact_id": "art_91d55c997599a1b301a52f2ad8559a9f2bfa28927d7cb2c391f3cedf6072ccdd",\n "content_state": "materialized",\n "executable": false,\n "format": "apk",\n "kind": "resource",\n "limitations": [],\n "media_type": null,\n "sha256": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",\n "size": 1\n }\n ],\n "occurrences": [\n {\n "artifact_id": "art_91d55c997599a1b301a52f2ad8559a9f2bfa28927d7cb2c391f3cedf6072ccdd",\n "compressed_size": null,\n "declared_size": 1,\n "encrypted": false,\n "entry_kind": "file",\n "executable": false,\n "hash_status": "verified",\n "limitations": [],\n "logical_path": ".",\n "occurrence_id": "occ_385f341599a469f680d89371fd8d26bf235e4bd95e29f941f69830343ea72c5a",\n "parent_occurrence_id": null,\n "source_location": null\n }\n ],\n "provenance": []\n },\n "operation": "inventory_artifact",\n "parameters": {},\n "predicate_type": "rea.analysis",\n "provider": {\n "id": "rea-artifact-graph",\n "name": "REA safe artifact graph provider",\n "version": "1"\n },\n "raw_result": null,\n "subject": {\n "architecture": null,\n "digest": {\n "sha256": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"\n },\n "format": "apk",\n "local_path": "Fixture.apk",\n "name": "Fixture.apk"\n }\n }\n ]\n }\n ],\n "properties": {\n "inventory_evidence": {\n "description": "Value for inventory evidence.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "description": "Value for analysis profile.",\n "properties": {\n "digest": {\n "description": "Value for digest.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "description": "Value for version.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "description": "Value for authority.",\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "description": "Value for confidence.",\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "description": "Value for architecture.",\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "description": "Value for isolation.",\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "description": "Value for platform.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for environment."\n },\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "description": "Value for evidence links.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "description": "Value for locations.",\n "items": {\n "oneOf": [\n {\n "properties": {\n "address": {\n "description": "Value for address.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "artifact-path",\n "description": "Value for kind.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "file-offset",\n "description": "Value for kind.",\n "type": "string"\n },\n "offset": {\n "description": "Value for offset.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0",\n "description": "Value for normalized result."\n },\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "description": "Value for predicate type.",\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for version."\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for raw result."\n },\n "subject": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "digest": {\n "description": "Value for digest.",\n "properties": {\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "description": "Declared input artifact format.",\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "description": "Local filesystem path for local.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for subject."\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "inventory_evidence"\n ],\n "type": "object"\n },\n "kind": "application",\n "name": "project_android_application_graph",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "bridge_candidates": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "basis": {\n "enum": [\n "managed-and-native-content",\n "jni-library-convention",\n "react-native-convention",\n "flutter-convention",\n "unity-convention"\n ],\n "type": "string"\n },\n "managed_path": {\n "minLength": 1,\n "type": "string"\n },\n "native_path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "managed_path",\n "native_path",\n "basis"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "components": {\n "additionalProperties": false,\n "properties": {\n "dex": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "artifact_id": {\n "pattern": "^art_[a-f0-9]{64}$",\n "type": "string"\n },\n "format": {\n "minLength": 1,\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "path",\n "artifact_id",\n "sha256",\n "format"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "javascript": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "artifact_id": {\n "pattern": "^art_[a-f0-9]{64}$",\n "type": "string"\n },\n "format": {\n "minLength": 1,\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "path",\n "artifact_id",\n "sha256",\n "format"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "jvm_classes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "artifact_id": {\n "pattern": "^art_[a-f0-9]{64}$",\n "type": "string"\n },\n "format": {\n "minLength": 1,\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "path",\n "artifact_id",\n "sha256",\n "format"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "manifests": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "artifact_id": {\n "pattern": "^art_[a-f0-9]{64}$",\n "type": "string"\n },\n "format": {\n "minLength": 1,\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "path",\n "artifact_id",\n "sha256",\n "format"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "native_libraries": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "artifact_id": {\n "pattern": "^art_[a-f0-9]{64}$",\n "type": "string"\n },\n "format": {\n "minLength": 1,\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "path",\n "artifact_id",\n "sha256",\n "format"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "resources": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "artifact_id": {\n "pattern": "^art_[a-f0-9]{64}$",\n "type": "string"\n },\n "format": {\n "minLength": 1,\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "path",\n "artifact_id",\n "sha256",\n "format"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "signing": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "artifact_id": {\n "pattern": "^art_[a-f0-9]{64}$",\n "type": "string"\n },\n "format": {\n "minLength": 1,\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "path",\n "artifact_id",\n "sha256",\n "format"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "manifests",\n "resources",\n "dex",\n "jvm_classes",\n "native_libraries",\n "javascript",\n "signing"\n ],\n "type": "object"\n },\n "coverage": {\n "additionalProperties": false,\n "properties": {\n "inventory_complete": {\n "type": "boolean"\n },\n "status": {\n "enum": [\n "complete-within-inventory",\n "partial"\n ],\n "type": "string"\n }\n },\n "required": [\n "status",\n "inventory_complete"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "projection_id": {\n "pattern": "^adp_[a-f0-9]{64}$",\n "type": "string"\n },\n "root_format": {\n "const": "apk",\n "type": "string"\n },\n "root_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "runtime_families": {\n "items": {\n "enum": [\n "dalvik-art",\n "java-kotlin",\n "native",\n "javascript",\n "react-native",\n "flutter",\n "unity"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "source_evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "projection_id",\n "root_sha256",\n "root_format",\n "source_evidence_ids",\n "components",\n "runtime_families",\n "bridge_candidates",\n "coverage",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Project Android Application Graph"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Project authenticated IPA inventory_artifact Evidence into an execution-free Apple application inventory. Reports exact component paths and hashes, runtime-family hints, and path-based bridge hypotheses without parsing plist/CMS semantics or claiming observed runtime calls.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "inventory_evidence": [\n {\n "authority": "shipped-artifact",\n "confidence": "observed",\n "environment": null,\n "evidence_id": "ev_26149f40576cc43ae2d1d8bb465090d2c3b227e3d2394d08cfdf0b61beba64ad",\n "evidence_links": [],\n "limitations": [],\n "locations": [],\n "normalized_result": {\n "edges": [],\n "limitations": [],\n "manifest": {\n "edge_count": 0,\n "graph_sha256": "5e6590160ac53eb4c5dc8a9722eec87dfc6fbee85b8b01c3391b9b5e872c862a",\n "manifest_id": "agm_72d1336aafbec396c67971ffc28c79661b2d1e2bdf8c00823db99ff007f601be",\n "node_count": 1,\n "occurrence_count": 1,\n "root_artifact_id": "art_b42a19aa08c8eda5b54ff7dedca16546a342bfe20da65c1377403feb7a74a960",\n "root_format": "ipa",\n "root_sha256": "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"\n },\n "nodes": [\n {\n "architecture": null,\n "artifact_id": "art_b42a19aa08c8eda5b54ff7dedca16546a342bfe20da65c1377403feb7a74a960",\n "content_state": "materialized",\n "executable": false,\n "format": "ipa",\n "kind": "resource",\n "limitations": [],\n "media_type": null,\n "sha256": "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",\n "size": 1\n }\n ],\n "occurrences": [\n {\n "artifact_id": "art_b42a19aa08c8eda5b54ff7dedca16546a342bfe20da65c1377403feb7a74a960",\n "compressed_size": null,\n "declared_size": 1,\n "encrypted": false,\n "entry_kind": "file",\n "executable": false,\n "hash_status": "verified",\n "limitations": [],\n "logical_path": ".",\n "occurrence_id": "occ_fc32a68378230630d05886e51a1e327af55b3a1d89f5365e07587e7e9ed1cce6",\n "parent_occurrence_id": null,\n "source_location": null\n }\n ],\n "provenance": []\n },\n "operation": "inventory_artifact",\n "parameters": {},\n "predicate_type": "rea.analysis",\n "provider": {\n "id": "rea-artifact-graph",\n "name": "REA safe artifact graph provider",\n "version": "1"\n },\n "raw_result": null,\n "subject": {\n "architecture": null,\n "digest": {\n "sha256": "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"\n },\n "format": "ipa",\n "local_path": "Fixture.ipa",\n "name": "Fixture.ipa"\n }\n }\n ]\n }\n ],\n "properties": {\n "inventory_evidence": {\n "description": "Value for inventory evidence.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "description": "Value for analysis profile.",\n "properties": {\n "digest": {\n "description": "Value for digest.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "description": "Value for version.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "description": "Value for authority.",\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "description": "Value for confidence.",\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "description": "Value for architecture.",\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "description": "Value for isolation.",\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "description": "Value for platform.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for environment."\n },\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "description": "Value for evidence links.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "description": "Value for locations.",\n "items": {\n "oneOf": [\n {\n "properties": {\n "address": {\n "description": "Value for address.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "artifact-path",\n "description": "Value for kind.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "file-offset",\n "description": "Value for kind.",\n "type": "string"\n },\n "offset": {\n "description": "Value for offset.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0",\n "description": "Value for normalized result."\n },\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "description": "Value for predicate type.",\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for version."\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for raw result."\n },\n "subject": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "digest": {\n "description": "Value for digest.",\n "properties": {\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "description": "Declared input artifact format.",\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "description": "Local filesystem path for local.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for subject."\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "inventory_evidence"\n ],\n "type": "object"\n },\n "kind": "application",\n "name": "project_apple_application_graph",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "application_roots": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "bridge_candidates": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "basis": {\n "enum": [\n "javascript-and-native-content",\n "react-native-convention",\n "flutter-convention",\n "unity-convention"\n ],\n "type": "string"\n },\n "native_path": {\n "minLength": 1,\n "type": "string"\n },\n "source_path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "source_path",\n "native_path",\n "basis"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "components": {\n "additionalProperties": false,\n "properties": {\n "bundle_metadata": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "artifact_id": {\n "pattern": "^art_[a-f0-9]{64}$",\n "type": "string"\n },\n "format": {\n "minLength": 1,\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "path",\n "artifact_id",\n "sha256",\n "format"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "executables": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "artifact_id": {\n "pattern": "^art_[a-f0-9]{64}$",\n "type": "string"\n },\n "format": {\n "minLength": 1,\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "path",\n "artifact_id",\n "sha256",\n "format"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "frameworks": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "artifact_id": {\n "pattern": "^art_[a-f0-9]{64}$",\n "type": "string"\n },\n "format": {\n "minLength": 1,\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "path",\n "artifact_id",\n "sha256",\n "format"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "javascript": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "artifact_id": {\n "pattern": "^art_[a-f0-9]{64}$",\n "type": "string"\n },\n "format": {\n "minLength": 1,\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "path",\n "artifact_id",\n "sha256",\n "format"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "native_libraries": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "artifact_id": {\n "pattern": "^art_[a-f0-9]{64}$",\n "type": "string"\n },\n "format": {\n "minLength": 1,\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "path",\n "artifact_id",\n "sha256",\n "format"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "signing": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "artifact_id": {\n "pattern": "^art_[a-f0-9]{64}$",\n "type": "string"\n },\n "format": {\n "minLength": 1,\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "path",\n "artifact_id",\n "sha256",\n "format"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "bundle_metadata",\n "executables",\n "frameworks",\n "native_libraries",\n "javascript",\n "signing"\n ],\n "type": "object"\n },\n "coverage": {\n "additionalProperties": false,\n "properties": {\n "inventory_complete": {\n "type": "boolean"\n },\n "status": {\n "enum": [\n "complete-within-inventory",\n "partial"\n ],\n "type": "string"\n }\n },\n "required": [\n "status",\n "inventory_complete"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "projection_id": {\n "pattern": "^aap_[a-f0-9]{64}$",\n "type": "string"\n },\n "root_format": {\n "const": "ipa",\n "type": "string"\n },\n "root_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "runtime_families": {\n "items": {\n "enum": [\n "native",\n "swift-objective-c",\n "javascript",\n "react-native",\n "flutter",\n "unity"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "source_evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "projection_id",\n "root_sha256",\n "root_format",\n "source_evidence_ids",\n "application_roots",\n "components",\n "runtime_families",\n "bridge_candidates",\n "coverage",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Project Apple Application Graph"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": true,\n "readOnlyHint": false\n },\n "description": "Trace one generated position in an exported website script through an explicitly paired local source map. Verifies manifest, selected script and map SHA-256/byte identities; returns every equal-position mapping, reported source/root, resolved source URL, embedded sourcesContent and original position inline. One-based lines and zero-based UTF-16 columns; greatest generated position <= requested across lines. Duplicate sources and generated-only mappings remain distinct. Caller-selected pairing does not establish deployment authenticity or execution. Regular maps and inline indexed sections only; external section URLs are unsupported. No network access or application execution; uses the pinned upstream codec in an owned Node process with private temporary files, independent 192 MiB old-generation heap and 20-second deadline. 4 MiB map, 32 MiB reply; complete evidence or actionable resource failure. Cleanup may extend the deadline.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": true,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": true\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "generated_position": {\n "column": 25,\n "line": 1\n },\n "manifest_path": "/analysis/scripts/manifest.json",\n "script_index": 0,\n "source_map": {\n "path": "/analysis/app.js.map",\n "url": "https://example.test/app.js.map"\n }\n }\n ],\n "properties": {\n "generated_position": {\n "additionalProperties": false,\n "description": "Value for generated position.",\n "properties": {\n "column": {\n "description": "Value for column.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "description": "Value for line.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "line",\n "column"\n ],\n "type": "object"\n },\n "manifest_path": {\n "description": "Absolute export_web_scripts manifest path",\n "minLength": 1,\n "type": "string"\n },\n "script_index": {\n "description": "Zero-based index in manifest.scripts",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "source_map": {\n "additionalProperties": false,\n "description": "Value for source map.",\n "properties": {\n "path": {\n "description": "Absolute local source-map path; no fetch",\n "minLength": 1,\n "type": "string"\n },\n "url": {\n "description": "Explicit source-map URL context used to resolve original source names",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "path",\n "url"\n ],\n "type": "object"\n }\n },\n "required": [\n "manifest_path",\n "script_index",\n "source_map",\n "generated_position"\n ],\n "type": "object"\n },\n "kind": "application",\n "name": "trace_web_source_location",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "diagnostics": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "engine": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "version"\n ],\n "type": "object"\n },\n "execution": {\n "const": "unknown",\n "type": "string"\n },\n "format": {\n "enum": [\n "regular",\n "indexed"\n ],\n "type": "string"\n },\n "generated_offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "lookup": {\n "additionalProperties": false,\n "properties": {\n "location_units": {\n "const": "one-based lines; zero-based UTF-16 columns",\n "type": "string"\n },\n "matched_generated_position": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "line",\n "column"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "requested": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "line",\n "column"\n ],\n "type": "object"\n },\n "semantics": {\n "const": "greatest generated position <= requested, across lines; all equal-position segments",\n "type": "string"\n }\n },\n "required": [\n "requested",\n "matched_generated_position",\n "semantics",\n "location_units"\n ],\n "type": "object"\n },\n "manifest": {\n "additionalProperties": false,\n "properties": {\n "bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "capture_completeness": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "attach_limited_sections": {\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "conditions": {\n "items": {\n "enum": [\n "complete_within_window",\n "policy_filtered",\n "attach_limited",\n "truncated"\n ],\n "type": "string"\n },\n "maxItems": 3,\n "minItems": 1,\n "type": "array"\n },\n "dropped_events": {\n "additionalProperties": false,\n "properties": {\n "console_events": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "network_requests": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "scripts": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "timeline_events": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "total": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "webmcp_tools": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "websocket_connections": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "websocket_frames": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "scripts",\n "network_requests",\n "console_events",\n "websocket_connections",\n "websocket_frames",\n "webmcp_tools",\n "timeline_events",\n "total"\n ],\n "type": "object"\n },\n "excluded": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "reason": {\n "enum": [\n "disallowed_origin",\n "unsupported_url",\n "unattributed_origin",\n "not_approved",\n "out_of_target_scope",\n "provider_unavailable",\n "invalid_protocol_value"\n ],\n "type": "string"\n },\n "section": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n }\n },\n "required": [\n "section",\n "reason",\n "count"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "policy_filtered_sections": {\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "status": {\n "enum": [\n "complete_within_window",\n "policy_filtered",\n "attach_limited",\n "truncated"\n ],\n "type": "string"\n },\n "truncated_sections": {\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "unavailable_sections": {\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n }\n },\n "required": [\n "status",\n "conditions",\n "policy_filtered_sections",\n "attach_limited_sections",\n "truncated_sections",\n "unavailable_sections",\n "excluded",\n "dropped_events"\n ],\n "type": "object"\n },\n {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "equality_eligible": {\n "const": true,\n "type": "boolean"\n },\n "missing_sections": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "status": {\n "const": "complete",\n "type": "string"\n },\n "truncated_sections": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n }\n },\n "required": [\n "status",\n "equality_eligible",\n "missing_sections",\n "truncated_sections"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "equality_eligible": {\n "const": false,\n "type": "boolean"\n },\n "missing_sections": {\n "items": {\n "enum": [\n "action",\n "screenshot",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage",\n "events",\n "frames",\n "workers",\n "popups",\n "websockets"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "status": {\n "const": "incomplete",\n "type": "string"\n },\n "truncated_sections": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n }\n },\n "required": [\n "status",\n "equality_eligible",\n "missing_sections",\n "truncated_sections"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "equality_eligible": {\n "const": false,\n "type": "boolean"\n },\n "missing_sections": {\n "items": {\n "enum": [\n "action",\n "screenshot",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage",\n "events",\n "frames",\n "workers",\n "popups",\n "websockets"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "status": {\n "const": "truncated",\n "type": "string"\n },\n "truncated_sections": {\n "items": {\n "enum": [\n "action",\n "screenshot",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage",\n "events",\n "frames",\n "workers",\n "popups",\n "websockets"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "status",\n "equality_eligible",\n "missing_sections",\n "truncated_sections"\n ],\n "type": "object"\n }\n ]\n }\n ]\n },\n "capture_kind": {\n "enum": [\n "page-inspection",\n "browser-scenario"\n ],\n "type": "string"\n },\n "capture_path": {\n "minLength": 1,\n "type": "string"\n },\n "capture_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n },\n "reported_output_directory": {\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "source_evidence_id": {\n "anyOf": [\n {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "path",\n "sha256",\n "bytes",\n "reported_output_directory",\n "capture_path",\n "capture_sha256",\n "capture_kind",\n "capture_completeness",\n "source_evidence_id"\n ],\n "type": "object"\n },\n "matches": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "generated-only",\n "type": "string"\n }\n },\n "required": [\n "state"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "content": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "representation": {\n "const": "UTF-8 encoding of decoded sourcesContent text",\n "type": "string"\n },\n "state": {\n "const": "embedded",\n "type": "string"\n },\n "text": {\n "type": "string"\n },\n "utf8_bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "utf8_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "state",\n "text",\n "utf8_sha256",\n "utf8_bytes",\n "representation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "const": "sourcesContent-not-retained",\n "type": "string"\n },\n "state": {\n "const": "unavailable",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason"\n ],\n "type": "object"\n }\n ]\n },\n "flattened_source_index": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "ignored": {\n "type": "boolean"\n },\n "name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "original_position": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "content_position": {\n "enum": [\n "verified-in-embedded-text",\n "outside-embedded-text",\n "content-unavailable"\n ],\n "type": "string"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "offset": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "line",\n "column",\n "offset",\n "content_position"\n ],\n "type": "object"\n },\n "reported_source": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "reported_source_root": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "resolved_url": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "section_path": {\n "items": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "type": "array"\n },\n "source_index": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "state": {\n "const": "mapped",\n "type": "string"\n }\n },\n "required": [\n "state",\n "flattened_source_index",\n "section_path",\n "source_index",\n "reported_source",\n "reported_source_root",\n "resolved_url",\n "ignored",\n "content",\n "original_position",\n "name"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "reported_file": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "runtime": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "v8_heap_limit_bytes": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "version",\n "v8_heap_limit_bytes"\n ],\n "type": "object"\n },\n "source": {\n "additionalProperties": false,\n "properties": {\n "bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n },\n "script": {\n "additionalProperties": false,\n "properties": {\n "content": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "layout": {\n "enum": [\n "url-path",\n "isolated"\n ],\n "type": "string"\n },\n "layout_reason": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "media_type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "redacted": {\n "anyOf": [\n {\n "type": "boolean"\n },\n {\n "type": "null"\n }\n ]\n },\n "relative_path": {\n "minLength": 1,\n "type": "string"\n },\n "representation": {\n "enum": [\n "debugger-source-utf8",\n "browser-decoded-response-bytes"\n ],\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "state": {\n "const": "exported",\n "type": "string"\n }\n },\n "required": [\n "state",\n "relative_path",\n "layout",\n "layout_reason",\n "sha256",\n "bytes",\n "media_type",\n "redacted",\n "representation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "minLength": 1,\n "type": "string"\n },\n "state": {\n "const": "unavailable",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason",\n "message"\n ],\n "type": "object"\n }\n ]\n },\n "source": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "frame_id": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "is_module": {\n "type": "boolean"\n },\n "kind": {\n "const": "page-script",\n "type": "string"\n },\n "language": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "script_key": {\n "minLength": 1,\n "type": "string"\n },\n "source_map_url": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "kind",\n "script_key",\n "frame_id",\n "is_module",\n "language",\n "source_map_url"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "scenario-response",\n "type": "string"\n },\n "request_sequence": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "response_sequence": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "anyOf": [\n {\n "type": "number"\n },\n {\n "type": "null"\n }\n ]\n },\n "transaction_id": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "kind",\n "transaction_id",\n "request_sequence",\n "response_sequence",\n "status"\n ],\n "type": "object"\n }\n ]\n },\n "url": {\n "type": "string"\n }\n },\n "required": [\n "source",\n "url",\n "content"\n ],\n "type": "object"\n },\n "script_index": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "path",\n "sha256",\n "bytes",\n "script_index",\n "script"\n ],\n "type": "object"\n },\n "source_authenticity": {\n "const": "unknown",\n "type": "string"\n },\n "source_map": {\n "additionalProperties": false,\n "properties": {\n "association": {\n "const": "caller-selected",\n "type": "string"\n },\n "bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "url": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "path",\n "sha256",\n "bytes",\n "url",\n "association"\n ],\n "type": "object"\n },\n "source_map_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "url_context": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "source_map_sha256",\n "url_context",\n "engine",\n "runtime",\n "format",\n "reported_file",\n "lookup",\n "matches",\n "diagnostics",\n "manifest",\n "source",\n "source_map",\n "generated_offset",\n "source_authenticity",\n "execution",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Trace Web Source Location"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": true,\n "readOnlyHint": false\n },\n "description": "Trace one exported website script\'s outgoing native ES imports/re-exports, using exact URL and optional selected import-map context. Reads a local export_web_scripts manifest and verifies the selected source\'s SHA-256/size; returns source positions, native resolved URLs or exact errors, every matching captured candidate and explicit unknown execution. Query/fragment identities are preserved. Computed imports and bundler IDs remain unknown. Select importer_url for unknown inline/document-base context. Caller-supplied Chromium executes only a trusted REA resolver stub in an owned context with page requests locally fulfilled/blocked; no captured application execution or asset refetch. Requires absolute REA_BROWSER_EXECUTABLE for literal imports. 32 MiB manifest, 16 MiB source, 4 MiB map and 20-second native deadline; cleanup may extend the deadline.",\n "effects": {\n "accessesNetwork": true,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": true,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": true\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "import_map": {\n "base_url": "https://example.test/app/",\n "path": "/analysis/import-map.json"\n },\n "manifest_path": "/analysis/exported-scripts/manifest.json",\n "script_index": 0\n }\n ],\n "properties": {\n "import_map": {\n "additionalProperties": false,\n "description": "Value for import map.",\n "properties": {\n "base_url": {\n "description": "Explicit HTTP(S) base for the selected map",\n "minLength": 1,\n "type": "string"\n },\n "path": {\n "description": "Absolute local import-map JSON path; no fetch",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "path",\n "base_url"\n ],\n "type": "object"\n },\n "importer_url": {\n "description": "Explicit HTTP(S) module URL; useful when captured inline/base context is unknown",\n "minLength": 1,\n "type": "string"\n },\n "manifest_path": {\n "description": "Absolute path to an export_web_scripts manifest",\n "minLength": 1,\n "type": "string"\n },\n "script_index": {\n "description": "Zero-based index in manifest.scripts",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "manifest_path",\n "script_index"\n ],\n "type": "object"\n },\n "kind": "application",\n "name": "trace_web_module_imports",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "diagnostics": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "engine": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "version"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "import_map": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "base_url": {\n "minLength": 1,\n "type": "string"\n },\n "bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "path",\n "sha256",\n "bytes",\n "base_url"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "importer": {\n "additionalProperties": false,\n "properties": {\n "basis": {\n "enum": [\n "caller-selected",\n "reported-source-url"\n ],\n "type": "string"\n },\n "url": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "url",\n "basis"\n ],\n "type": "object"\n },\n "imports": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "captured_candidates": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "match": {\n "enum": [\n "exact-reported-url",\n "response-url-without-fragment"\n ],\n "type": "string"\n },\n "script": {\n "additionalProperties": false,\n "properties": {\n "content": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "layout": {\n "enum": [\n "url-path",\n "isolated"\n ],\n "type": "string"\n },\n "layout_reason": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "media_type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "redacted": {\n "anyOf": [\n {\n "type": "boolean"\n },\n {\n "type": "null"\n }\n ]\n },\n "relative_path": {\n "minLength": 1,\n "type": "string"\n },\n "representation": {\n "enum": [\n "debugger-source-utf8",\n "browser-decoded-response-bytes"\n ],\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "state": {\n "const": "exported",\n "type": "string"\n }\n },\n "required": [\n "state",\n "relative_path",\n "layout",\n "layout_reason",\n "sha256",\n "bytes",\n "media_type",\n "redacted",\n "representation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "minLength": 1,\n "type": "string"\n },\n "state": {\n "const": "unavailable",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason",\n "message"\n ],\n "type": "object"\n }\n ]\n },\n "source": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "frame_id": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "is_module": {\n "type": "boolean"\n },\n "kind": {\n "const": "page-script",\n "type": "string"\n },\n "language": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "script_key": {\n "minLength": 1,\n "type": "string"\n },\n "source_map_url": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "kind",\n "script_key",\n "frame_id",\n "is_module",\n "language",\n "source_map_url"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "scenario-response",\n "type": "string"\n },\n "request_sequence": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "response_sequence": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "anyOf": [\n {\n "type": "number"\n },\n {\n "type": "null"\n }\n ]\n },\n "transaction_id": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "kind",\n "transaction_id",\n "request_sequence",\n "response_sequence",\n "status"\n ],\n "type": "object"\n }\n ]\n },\n "url": {\n "type": "string"\n }\n },\n "required": [\n "source",\n "url",\n "content"\n ],\n "type": "object"\n },\n "script_index": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "script_index",\n "match",\n "script"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "end": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "offset",\n "line",\n "column"\n ],\n "type": "object"\n },\n "execution": {\n "const": "unknown",\n "type": "string"\n },\n "expression": {\n "type": "string"\n },\n "kind": {\n "enum": [\n "static-import",\n "re-export",\n "dynamic-import"\n ],\n "type": "string"\n },\n "resolution": {\n "anyOf": [\n {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "resolved",\n "type": "string"\n },\n "url": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "state",\n "url"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "message": {\n "type": "string"\n },\n "state": {\n "const": "rejected",\n "type": "string"\n }\n },\n "required": [\n "state",\n "message"\n ],\n "type": "object"\n }\n ]\n },\n {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "const": "computed-specifier",\n "type": "string"\n },\n "state": {\n "const": "unknown",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason"\n ],\n "type": "object"\n }\n ]\n },\n "specifier": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "start": {\n "additionalProperties": false,\n "properties": {\n "column": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "line": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "offset",\n "line",\n "column"\n ],\n "type": "object"\n }\n },\n "required": [\n "kind",\n "specifier",\n "expression",\n "start",\n "end",\n "resolution",\n "captured_candidates",\n "execution"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "manifest": {\n "additionalProperties": false,\n "properties": {\n "bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "capture_completeness": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "attach_limited_sections": {\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "conditions": {\n "items": {\n "enum": [\n "complete_within_window",\n "policy_filtered",\n "attach_limited",\n "truncated"\n ],\n "type": "string"\n },\n "maxItems": 3,\n "minItems": 1,\n "type": "array"\n },\n "dropped_events": {\n "additionalProperties": false,\n "properties": {\n "console_events": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "network_requests": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "scripts": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "timeline_events": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "total": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "webmcp_tools": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "websocket_connections": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "websocket_frames": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "scripts",\n "network_requests",\n "console_events",\n "websocket_connections",\n "websocket_frames",\n "webmcp_tools",\n "timeline_events",\n "total"\n ],\n "type": "object"\n },\n "excluded": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "reason": {\n "enum": [\n "disallowed_origin",\n "unsupported_url",\n "unattributed_origin",\n "not_approved",\n "out_of_target_scope",\n "provider_unavailable",\n "invalid_protocol_value"\n ],\n "type": "string"\n },\n "section": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n }\n },\n "required": [\n "section",\n "reason",\n "count"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "policy_filtered_sections": {\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "status": {\n "enum": [\n "complete_within_window",\n "policy_filtered",\n "attach_limited",\n "truncated"\n ],\n "type": "string"\n },\n "truncated_sections": {\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "unavailable_sections": {\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n }\n },\n "required": [\n "status",\n "conditions",\n "policy_filtered_sections",\n "attach_limited_sections",\n "truncated_sections",\n "unavailable_sections",\n "excluded",\n "dropped_events"\n ],\n "type": "object"\n },\n {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "equality_eligible": {\n "const": true,\n "type": "boolean"\n },\n "missing_sections": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "status": {\n "const": "complete",\n "type": "string"\n },\n "truncated_sections": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n }\n },\n "required": [\n "status",\n "equality_eligible",\n "missing_sections",\n "truncated_sections"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "equality_eligible": {\n "const": false,\n "type": "boolean"\n },\n "missing_sections": {\n "items": {\n "enum": [\n "action",\n "screenshot",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage",\n "events",\n "frames",\n "workers",\n "popups",\n "websockets"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "status": {\n "const": "incomplete",\n "type": "string"\n },\n "truncated_sections": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n }\n },\n "required": [\n "status",\n "equality_eligible",\n "missing_sections",\n "truncated_sections"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "equality_eligible": {\n "const": false,\n "type": "boolean"\n },\n "missing_sections": {\n "items": {\n "enum": [\n "action",\n "screenshot",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage",\n "events",\n "frames",\n "workers",\n "popups",\n "websockets"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "status": {\n "const": "truncated",\n "type": "string"\n },\n "truncated_sections": {\n "items": {\n "enum": [\n "action",\n "screenshot",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage",\n "events",\n "frames",\n "workers",\n "popups",\n "websockets"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "status",\n "equality_eligible",\n "missing_sections",\n "truncated_sections"\n ],\n "type": "object"\n }\n ]\n }\n ]\n },\n "capture_kind": {\n "enum": [\n "page-inspection",\n "browser-scenario"\n ],\n "type": "string"\n },\n "capture_path": {\n "minLength": 1,\n "type": "string"\n },\n "capture_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n },\n "reported_output_directory": {\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "source_evidence_id": {\n "anyOf": [\n {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "path",\n "sha256",\n "bytes",\n "reported_output_directory",\n "capture_path",\n "capture_sha256",\n "capture_kind",\n "capture_completeness",\n "source_evidence_id"\n ],\n "type": "object"\n },\n "parser": {\n "additionalProperties": false,\n "properties": {\n "diagnostics": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "location_units": {\n "const": "UTF-16 offsets and columns; one-based lines",\n "type": "string"\n },\n "state": {\n "enum": [\n "parsed",\n "unparseable"\n ],\n "type": "string"\n }\n },\n "required": [\n "state",\n "diagnostics",\n "location_units"\n ],\n "type": "object"\n },\n "source": {\n "additionalProperties": false,\n "properties": {\n "bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n },\n "script": {\n "additionalProperties": false,\n "properties": {\n "content": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "layout": {\n "enum": [\n "url-path",\n "isolated"\n ],\n "type": "string"\n },\n "layout_reason": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "media_type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "redacted": {\n "anyOf": [\n {\n "type": "boolean"\n },\n {\n "type": "null"\n }\n ]\n },\n "relative_path": {\n "minLength": 1,\n "type": "string"\n },\n "representation": {\n "enum": [\n "debugger-source-utf8",\n "browser-decoded-response-bytes"\n ],\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "state": {\n "const": "exported",\n "type": "string"\n }\n },\n "required": [\n "state",\n "relative_path",\n "layout",\n "layout_reason",\n "sha256",\n "bytes",\n "media_type",\n "redacted",\n "representation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "minLength": 1,\n "type": "string"\n },\n "state": {\n "const": "unavailable",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason",\n "message"\n ],\n "type": "object"\n }\n ]\n },\n "source": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "frame_id": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "is_module": {\n "type": "boolean"\n },\n "kind": {\n "const": "page-script",\n "type": "string"\n },\n "language": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "script_key": {\n "minLength": 1,\n "type": "string"\n },\n "source_map_url": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "kind",\n "script_key",\n "frame_id",\n "is_module",\n "language",\n "source_map_url"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "scenario-response",\n "type": "string"\n },\n "request_sequence": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "response_sequence": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "anyOf": [\n {\n "type": "number"\n },\n {\n "type": "null"\n }\n ]\n },\n "transaction_id": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "kind",\n "transaction_id",\n "request_sequence",\n "response_sequence",\n "status"\n ],\n "type": "object"\n }\n ]\n },\n "url": {\n "type": "string"\n }\n },\n "required": [\n "source",\n "url",\n "content"\n ],\n "type": "object"\n },\n "script_index": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "path",\n "sha256",\n "bytes",\n "script_index",\n "script"\n ],\n "type": "object"\n }\n },\n "required": [\n "manifest",\n "source",\n "importer",\n "import_map",\n "parser",\n "engine",\n "imports",\n "diagnostics",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Trace Web Module Imports"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": false,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Export JavaScript bytes already retained in one local inspect_web_page or capture_browser_scenario JSON capture (normalized result or complete Evidence). Writes scripts and a digest-verified manifest into an absent absolute output_directory. Returns all source URLs, script or transaction/event references, unavailable states, and an analysis_input for analyze_javascript_application when any bytes were exported. Include script sources in inspect_web_page or select capture.network.response_body in scenarios. No refetch or execution. Safe unambiguous URL layouts preserve relative module paths; versions, query variants, inline scripts, and path collisions are isolated with explicit resolution limitations.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": false,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": true\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "capture_path": "/analysis/capture.json",\n "output_directory": "/analysis/exported-scripts"\n }\n ],\n "properties": {\n "capture_path": {\n "description": "Absolute filesystem path to saved inspect_web_page or capture_browser_scenario JSON, normalized result or complete Evidence",\n "minLength": 1,\n "type": "string"\n },\n "output_directory": {\n "description": "Absolute absent filesystem directory for verified scripts and manifest; parent directory must exist",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "capture_path",\n "output_directory"\n ],\n "type": "object"\n },\n "kind": "application",\n "name": "export_web_scripts",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "analysis_input": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "format": {\n "const": "directory",\n "type": "string"\n },\n "input_path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "input_path",\n "format"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "capture_completeness": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "attach_limited_sections": {\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "conditions": {\n "items": {\n "enum": [\n "complete_within_window",\n "policy_filtered",\n "attach_limited",\n "truncated"\n ],\n "type": "string"\n },\n "maxItems": 3,\n "minItems": 1,\n "type": "array"\n },\n "dropped_events": {\n "additionalProperties": false,\n "properties": {\n "console_events": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "network_requests": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "scripts": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "timeline_events": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "total": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "webmcp_tools": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "websocket_connections": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "websocket_frames": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "scripts",\n "network_requests",\n "console_events",\n "websocket_connections",\n "websocket_frames",\n "webmcp_tools",\n "timeline_events",\n "total"\n ],\n "type": "object"\n },\n "excluded": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "reason": {\n "enum": [\n "disallowed_origin",\n "unsupported_url",\n "unattributed_origin",\n "not_approved",\n "out_of_target_scope",\n "provider_unavailable",\n "invalid_protocol_value"\n ],\n "type": "string"\n },\n "section": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n }\n },\n "required": [\n "section",\n "reason",\n "count"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "policy_filtered_sections": {\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "status": {\n "enum": [\n "complete_within_window",\n "policy_filtered",\n "attach_limited",\n "truncated"\n ],\n "type": "string"\n },\n "truncated_sections": {\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "unavailable_sections": {\n "items": {\n "enum": [\n "frames",\n "dom",\n "accessibility",\n "scripts",\n "script_sources",\n "resources",\n "network_requests",\n "network_initiators",\n "console_events",\n "console_text",\n "websocket_connections",\n "websocket_frames",\n "websocket_shapes",\n "json_body_shapes",\n "workers",\n "storage",\n "storage_keys",\n "metadata",\n "webmcp_tools",\n "screenshot",\n "source_maps",\n "timeline"\n ],\n "type": "string"\n },\n "type": "array"\n }\n },\n "required": [\n "status",\n "conditions",\n "policy_filtered_sections",\n "attach_limited_sections",\n "truncated_sections",\n "unavailable_sections",\n "excluded",\n "dropped_events"\n ],\n "type": "object"\n },\n {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "equality_eligible": {\n "const": true,\n "type": "boolean"\n },\n "missing_sections": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "status": {\n "const": "complete",\n "type": "string"\n },\n "truncated_sections": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n }\n },\n "required": [\n "status",\n "equality_eligible",\n "missing_sections",\n "truncated_sections"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "equality_eligible": {\n "const": false,\n "type": "boolean"\n },\n "missing_sections": {\n "items": {\n "enum": [\n "action",\n "screenshot",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage",\n "events",\n "frames",\n "workers",\n "popups",\n "websockets"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "status": {\n "const": "incomplete",\n "type": "string"\n },\n "truncated_sections": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n }\n },\n "required": [\n "status",\n "equality_eligible",\n "missing_sections",\n "truncated_sections"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "equality_eligible": {\n "const": false,\n "type": "boolean"\n },\n "missing_sections": {\n "items": {\n "enum": [\n "action",\n "screenshot",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage",\n "events",\n "frames",\n "workers",\n "popups",\n "websockets"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "status": {\n "const": "truncated",\n "type": "string"\n },\n "truncated_sections": {\n "items": {\n "enum": [\n "action",\n "screenshot",\n "dom",\n "accessibility",\n "url",\n "history",\n "storage",\n "events",\n "frames",\n "workers",\n "popups",\n "websockets"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "status",\n "equality_eligible",\n "missing_sections",\n "truncated_sections"\n ],\n "type": "object"\n }\n ]\n }\n ]\n },\n "capture_kind": {\n "enum": [\n "page-inspection",\n "browser-scenario"\n ],\n "type": "string"\n },\n "capture_path": {\n "minLength": 1,\n "type": "string"\n },\n "capture_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "manifest": {\n "additionalProperties": false,\n "properties": {\n "bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "path",\n "sha256",\n "bytes"\n ],\n "type": "object"\n },\n "output_directory": {\n "minLength": 1,\n "type": "string"\n },\n "scripts": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "content": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "layout": {\n "enum": [\n "url-path",\n "isolated"\n ],\n "type": "string"\n },\n "layout_reason": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "media_type": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "redacted": {\n "anyOf": [\n {\n "type": "boolean"\n },\n {\n "type": "null"\n }\n ]\n },\n "relative_path": {\n "minLength": 1,\n "type": "string"\n },\n "representation": {\n "enum": [\n "debugger-source-utf8",\n "browser-decoded-response-bytes"\n ],\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "state": {\n "const": "exported",\n "type": "string"\n }\n },\n "required": [\n "state",\n "relative_path",\n "layout",\n "layout_reason",\n "sha256",\n "bytes",\n "media_type",\n "redacted",\n "representation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "message": {\n "minLength": 1,\n "type": "string"\n },\n "reason": {\n "minLength": 1,\n "type": "string"\n },\n "state": {\n "const": "unavailable",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason",\n "message"\n ],\n "type": "object"\n }\n ]\n },\n "source": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "frame_id": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "is_module": {\n "type": "boolean"\n },\n "kind": {\n "const": "page-script",\n "type": "string"\n },\n "language": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "script_key": {\n "minLength": 1,\n "type": "string"\n },\n "source_map_url": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "kind",\n "script_key",\n "frame_id",\n "is_module",\n "language",\n "source_map_url"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "scenario-response",\n "type": "string"\n },\n "request_sequence": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "response_sequence": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "anyOf": [\n {\n "type": "number"\n },\n {\n "type": "null"\n }\n ]\n },\n "transaction_id": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "kind",\n "transaction_id",\n "request_sequence",\n "response_sequence",\n "status"\n ],\n "type": "object"\n }\n ]\n },\n "url": {\n "type": "string"\n }\n },\n "required": [\n "source",\n "url",\n "content"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "source_evidence_id": {\n "anyOf": [\n {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "capture_path",\n "capture_sha256",\n "capture_kind",\n "source_evidence_id",\n "capture_completeness",\n "output_directory",\n "analysis_input",\n "scripts",\n "limitations",\n "manifest"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Export Web Scripts"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": false,\n "openWorldHint": true,\n "readOnlyHint": false\n },\n "description": "Recover readable modules from one local UTF-8 JavaScript script/bundle into an absent directory, using caller-supplied Wakaru 1.13.0 on Linux x64. Returns original/derived digests, extraction byte ranges, emitted source maps, warnings and analysis_input inline. Structural splitting may fall back to one module; original names and runtime equivalence remain unknown. No application code execution. Requires util-linux prlimit; one worker, 1 GiB address-space ceiling, 120-second deadline, 64 MiB input, 128 MiB output, 10000 entries and 8 MiB per diagnostic/report stream.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": false,\n "launchesProcess": true,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": true\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "output_directory": "/tmp/recovered-app",\n "path": "/tmp/web-scripts/app.js"\n }\n ],\n "properties": {\n "extraction_mode": {\n "default": "structural",\n "description": "Structural module boundaries, heuristic fallback, or finer inspection-only regions",\n "enum": [\n "structural",\n "heuristic",\n "inspection"\n ],\n "type": "string"\n },\n "output_directory": {\n "description": "Absolute absent output directory; parent must exist",\n "minLength": 1,\n "type": "string"\n },\n "path": {\n "description": "Absolute path to a UTF-8 JavaScript file; never executed",\n "minLength": 1,\n "type": "string"\n },\n "rewrite_level": {\n "default": "standard",\n "description": "Upstream syntax recovery level; runtime equivalence remains unverified",\n "enum": [\n "minimal",\n "standard",\n "aggressive"\n ],\n "type": "string"\n }\n },\n "required": [\n "path",\n "output_directory"\n ],\n "type": "object"\n },\n "kind": "application",\n "name": "recover_javascript_sources",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "analysis_input": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "format": {\n "const": "directory",\n "type": "string"\n },\n "input_path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "input_path",\n "format"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "detected_formats": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "engine": {\n "additionalProperties": false,\n "properties": {\n "audited_source_revision": {\n "minLength": 1,\n "type": "string"\n },\n "executable": {\n "additionalProperties": false,\n "properties": {\n "bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "path",\n "sha256",\n "bytes"\n ],\n "type": "object"\n },\n "executed_source_revision": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "version",\n "executable",\n "audited_source_revision",\n "executed_source_revision"\n ],\n "type": "object"\n },\n "failed": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "manifest": {\n "additionalProperties": false,\n "properties": {\n "bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "path",\n "sha256",\n "bytes"\n ],\n "type": "object"\n },\n "modules": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "artifact": {\n "additionalProperties": false,\n "properties": {\n "bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "path",\n "sha256",\n "bytes"\n ],\n "type": "object"\n },\n "provenance": {\n "additionalProperties": false,\n "properties": {\n "byte_ranges": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "start",\n "end"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "context_byte_ranges": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "start",\n "end"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "extraction": {\n "type": "string"\n },\n "original_path": {\n "type": "string"\n },\n "original_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "range_semantics": {\n "const": "half-open-utf8-bytes",\n "type": "string"\n },\n "reported_input": {\n "type": "string"\n }\n },\n "required": [\n "reported_input",\n "original_path",\n "original_sha256",\n "extraction",\n "byte_ranges",\n "context_byte_ranges",\n "range_semantics"\n ],\n "type": "object"\n },\n "reported_filename": {\n "minLength": 1,\n "type": "string"\n },\n "reported_status": {\n "minLength": 1,\n "type": "string"\n },\n "source_map": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "path",\n "sha256",\n "bytes"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "reported_filename",\n "reported_status",\n "artifact",\n "source_map",\n "provenance"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "options": {\n "additionalProperties": false,\n "properties": {\n "extraction_mode": {\n "enum": [\n "structural",\n "heuristic",\n "inspection"\n ],\n "type": "string"\n },\n "rewrite_level": {\n "enum": [\n "minimal",\n "standard",\n "aggressive"\n ],\n "type": "string"\n }\n },\n "required": [\n "extraction_mode",\n "rewrite_level"\n ],\n "type": "object"\n },\n "provenance": {\n "additionalProperties": false,\n "properties": {\n "bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "path",\n "sha256",\n "bytes"\n ],\n "type": "object"\n },\n "report": {\n "additionalProperties": false,\n "properties": {\n "bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "path",\n "sha256",\n "bytes"\n ],\n "type": "object"\n },\n "reported_format": {\n "type": "string"\n },\n "reported_safety": {\n "type": "string"\n },\n "reported_strategy": {\n "type": "string"\n },\n "runtime_equivalence": {\n "const": "unknown",\n "type": "string"\n },\n "source": {\n "additionalProperties": false,\n "properties": {\n "bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n },\n "published_copy": {\n "additionalProperties": false,\n "properties": {\n "bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "path",\n "sha256",\n "bytes"\n ],\n "type": "object"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "snapshot_path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "path",\n "sha256",\n "bytes",\n "snapshot_path",\n "published_copy"\n ],\n "type": "object"\n },\n "status": {\n "enum": [\n "complete",\n "partial"\n ],\n "type": "string"\n },\n "total": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "warnings": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "filename": {\n "type": "string"\n },\n "is_error": {\n "type": "boolean"\n },\n "kind": {\n "type": "string"\n },\n "message": {\n "type": "string"\n }\n },\n "required": [\n "filename",\n "kind",\n "is_error",\n "message"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "source",\n "engine",\n "options",\n "status",\n "detected_formats",\n "reported_safety",\n "reported_strategy",\n "reported_format",\n "total",\n "failed",\n "modules",\n "warnings",\n "report",\n "provenance",\n "manifest",\n "analysis_input",\n "runtime_equivalence",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": false,\n "title": "Recover Javascript Sources"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": true,\n "readOnlyHint": false\n },\n "description": "Open a local executable, application bundle, archive, JavaScript, source map, plist, or analysis database after validation. format=dos-com explicitly interprets 1..65280 headerless bytes as a DOS COM analysis image; omission preserves header-based detection. 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 analysis snapshot is imported atomically and must match the binary identity, concrete provider, and canonical analysis profile exactly.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": true,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {\n "path": "/tmp/fixture"\n }\n ],\n "properties": {\n "format": {\n "const": "dos-com",\n "description": "Explicit headerless DOS COM interpretation; omission preserves header-based detection",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "provider_id": {\n "anyOf": [\n {\n "const": "auto",\n "type": "string"\n },\n {\n "minLength": 1,\n "pattern": "^[a-z][a-z0-9-]*$",\n "type": "string"\n }\n ],\n "description": "Exact deep-analysis provider ID, or automatic selection when omitted."\n },\n "snapshot_path": {\n "description": "Local filesystem path for snapshot.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "path"\n ],\n "type": "object"\n },\n "kind": "session",\n "name": "open_binary",\n "outputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "result": {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map"\n ],\n "type": "string"\n },\n "kind": {\n "enum": [\n "executable",\n "database",\n "archive",\n "artifact"\n ],\n "type": "string"\n },\n "loaderArgs": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "path": {\n "type": "string"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "path",\n "format",\n "kind",\n "loaderArgs",\n "sha256",\n "architecture"\n ],\n "type": "object"\n }\n },\n "required": [\n "result"\n ],\n "type": "object"\n },\n "requiresSession": true,\n "title": "Open Binary"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": true,\n "idempotentHint": false,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Optionally write a provider-neutral analysis snapshot atomically to the caller-supplied path, then close the active target and every provider resource started for it. Existing files require explicit overwrite; a failed save leaves the session open so cached analysis is not lost.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": false,\n "launchesProcess": false,\n "mayDiscardData": true,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": true\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {\n "overwrite": false\n }\n ],\n "properties": {\n "overwrite": {\n "default": false,\n "description": "Whether an existing destination may be replaced.",\n "type": "boolean"\n },\n "snapshot_path": {\n "description": "Local filesystem path for snapshot.",\n "minLength": 1,\n "type": "string"\n }\n },\n "type": "object"\n },\n "kind": "session",\n "name": "close_binary",\n "outputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "result": {\n "anyOf": [\n {\n "type": "null"\n },\n {\n "additionalProperties": false,\n "properties": {\n "bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "entries": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "type": "string"\n }\n },\n "required": [\n "path",\n "bytes",\n "entries"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "result"\n ],\n "type": "object"\n },\n "requiresSession": true,\n "title": "Close Binary"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": true\n },\n "description": "Report the complete current target, provider, capability availability, client-feature, analysis, and server-identity status without starting analysis.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": false,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {}\n ],\n "properties": {\n "expected_catalog_digest": {\n "description": "Expected catalog digest used to reject stale or mismatched input.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "expected_package_version": {\n "description": "Expected package version used to reject stale or mismatched input.",\n "minLength": 1,\n "type": "string"\n },\n "expected_server_path": {\n "description": "Expected server path used to reject stale or mismatched input.",\n "minLength": 1,\n "type": "string"\n }\n },\n "type": "object"\n },\n "kind": "session",\n "name": "binary_session",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n },\n "__schema1": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema1"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema1"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "result": {\n "anyOf": [\n {\n "anyOf": [\n {\n "additionalProperties": {},\n "properties": {\n "analysis_activity": {\n "additionalProperties": false,\n "properties": {\n "providers": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "active": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "caller_state": {\n "enum": [\n "waiting",\n "cancelled"\n ],\n "type": "string"\n },\n "elapsed_ms": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "request_id": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "request_id",\n "operation",\n "elapsed_ms",\n "caller_state"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "type": "string"\n },\n "name": {\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "queued_requests": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "provider",\n "active",\n "queued_requests"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "status": {\n "enum": [\n "not_observed",\n "idle",\n "busy"\n ],\n "type": "string"\n }\n },\n "required": [\n "status",\n "providers"\n ],\n "type": "object"\n },\n "analysis_provider_binding": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "type": "string"\n },\n "name": {\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "selection_source": {\n "enum": [\n "request",\n "environment",\n "auto-single-candidate"\n ],\n "type": "string"\n }\n },\n "required": [\n "provider",\n "selection_source",\n "analysis_profile"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "analysis_provider_candidates": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "availability": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "code": {\n "type": "null"\n },\n "diagnostics": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "reason": {\n "type": "null"\n },\n "status": {\n "const": "available",\n "type": "string"\n }\n },\n "required": [\n "status",\n "code",\n "reason",\n "diagnostics"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "code": {\n "enum": [\n "not_configured",\n "executable_missing",\n "runtime_missing",\n "unsupported_host",\n "unsupported_version",\n "target_kind_unsupported",\n "target_format_unsupported",\n "architecture_unsupported",\n "target_role_unsupported",\n "managed_target_unsupported",\n "open_options_invalid",\n "version_unresolved"\n ],\n "type": "string"\n },\n "diagnostics": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "reason": {\n "minLength": 1,\n "type": "string"\n },\n "status": {\n "const": "unavailable",\n "type": "string"\n }\n },\n "required": [\n "status",\n "code",\n "reason",\n "diagnostics"\n ],\n "type": "object"\n }\n ]\n },\n "capabilities": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "availability_code": {\n "type": "null"\n },\n "available": {\n "const": true,\n "type": "boolean"\n },\n "effects": {\n "additionalProperties": false,\n "properties": {\n "changes_permissions": {\n "type": "boolean"\n },\n "launches_process": {\n "type": "boolean"\n },\n "may_access_network": {\n "type": "boolean"\n },\n "may_show_ui": {\n "type": "boolean"\n },\n "may_write_filesystem": {\n "type": "boolean"\n },\n "mutates_artifact": {\n "type": "boolean"\n },\n "requires_root": {\n "type": "boolean"\n }\n },\n "required": [\n "mutates_artifact",\n "launches_process",\n "may_show_ui",\n "may_access_network",\n "may_write_filesystem",\n "changes_permissions",\n "requires_root"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "operation": {\n "type": "string"\n },\n "reason": {\n "type": "null"\n }\n },\n "required": [\n "operation",\n "effects",\n "limitations",\n "available",\n "reason",\n "availability_code"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "availability_code": {\n "anyOf": [\n {\n "enum": [\n "not_configured",\n "executable_missing",\n "runtime_missing",\n "unsupported_host",\n "unsupported_version",\n "target_kind_unsupported",\n "target_format_unsupported",\n "architecture_unsupported",\n "target_role_unsupported",\n "managed_target_unsupported",\n "open_options_invalid",\n "version_unresolved"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "available": {\n "const": false,\n "type": "boolean"\n },\n "effects": {\n "additionalProperties": false,\n "properties": {\n "changes_permissions": {\n "type": "boolean"\n },\n "launches_process": {\n "type": "boolean"\n },\n "may_access_network": {\n "type": "boolean"\n },\n "may_show_ui": {\n "type": "boolean"\n },\n "may_write_filesystem": {\n "type": "boolean"\n },\n "mutates_artifact": {\n "type": "boolean"\n },\n "requires_root": {\n "type": "boolean"\n }\n },\n "required": [\n "mutates_artifact",\n "launches_process",\n "may_show_ui",\n "may_access_network",\n "may_write_filesystem",\n "changes_permissions",\n "requires_root"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "operation": {\n "type": "string"\n },\n "reason": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "operation",\n "effects",\n "limitations",\n "available",\n "reason",\n "availability_code"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "type": "string"\n },\n "name": {\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "selected": {\n "type": "boolean"\n },\n "target_support": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "code": {\n "type": "null"\n },\n "diagnostics": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "reason": {\n "minLength": 1,\n "type": "string"\n },\n "status": {\n "const": "unknown",\n "type": "string"\n }\n },\n "required": [\n "status",\n "code",\n "reason",\n "diagnostics"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "code": {\n "type": "null"\n },\n "diagnostics": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "reason": {\n "type": "null"\n },\n "status": {\n "const": "supported",\n "type": "string"\n }\n },\n "required": [\n "status",\n "code",\n "reason",\n "diagnostics"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "code": {\n "enum": [\n "target_kind_unsupported",\n "target_format_unsupported",\n "architecture_unsupported",\n "target_role_unsupported",\n "managed_target_unsupported"\n ],\n "type": "string"\n },\n "diagnostics": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "reason": {\n "minLength": 1,\n "type": "string"\n },\n "status": {\n "const": "unsupported",\n "type": "string"\n }\n },\n "required": [\n "status",\n "code",\n "reason",\n "diagnostics"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "provider",\n "availability",\n "target_support",\n "selected",\n "capabilities"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "analysis_run": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "process_lineage": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "status": {\n "const": "not_observed",\n "type": "string"\n }\n },\n "required": [\n "status"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "snapshots": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "observation": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "launcher_pid": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "observed_at": {\n "format": "date-time",\n "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))$",\n "type": "string"\n },\n "process_group_id": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "reason": {\n "minLength": 1,\n "type": "string"\n },\n "status": {\n "const": "unavailable",\n "type": "string"\n }\n },\n "required": [\n "status",\n "observed_at",\n "launcher_pid",\n "process_group_id",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "descendants": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "parent_pid": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "pid": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "process_group_id": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "pid",\n "parent_pid",\n "process_group_id"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "launcher_parent_pid": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "launcher_pid": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "observed_at": {\n "format": "date-time",\n "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))$",\n "type": "string"\n },\n "process_group_id": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "status": {\n "const": "verified",\n "type": "string"\n }\n },\n "required": [\n "status",\n "observed_at",\n "launcher_pid",\n "process_group_id",\n "launcher_parent_pid",\n "descendants"\n ],\n "type": "object"\n }\n ]\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "type": "string"\n },\n "name": {\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "observation"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "status": {\n "const": "snapshots",\n "type": "string"\n }\n },\n "required": [\n "status",\n "snapshots"\n ],\n "type": "object"\n }\n ]\n },\n "run_id": {\n "format": "uuid",\n "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)$",\n "type": "string"\n }\n },\n "required": [\n "run_id",\n "process_lineage"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "capabilities": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "availability_code": {\n "type": "null"\n },\n "available": {\n "const": true,\n "type": "boolean"\n },\n "effects": {\n "additionalProperties": false,\n "properties": {\n "changes_permissions": {\n "type": "boolean"\n },\n "launches_process": {\n "type": "boolean"\n },\n "may_access_network": {\n "type": "boolean"\n },\n "may_show_ui": {\n "type": "boolean"\n },\n "may_write_filesystem": {\n "type": "boolean"\n },\n "mutates_artifact": {\n "type": "boolean"\n },\n "requires_root": {\n "type": "boolean"\n }\n },\n "required": [\n "mutates_artifact",\n "launches_process",\n "may_show_ui",\n "may_access_network",\n "may_write_filesystem",\n "changes_permissions",\n "requires_root"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "operation": {\n "type": "string"\n },\n "reason": {\n "type": "null"\n }\n },\n "required": [\n "operation",\n "effects",\n "limitations",\n "available",\n "reason",\n "availability_code"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "availability_code": {\n "anyOf": [\n {\n "enum": [\n "not_configured",\n "executable_missing",\n "runtime_missing",\n "unsupported_host",\n "unsupported_version",\n "target_kind_unsupported",\n "target_format_unsupported",\n "architecture_unsupported",\n "target_role_unsupported",\n "managed_target_unsupported",\n "open_options_invalid",\n "version_unresolved"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "available": {\n "const": false,\n "type": "boolean"\n },\n "effects": {\n "additionalProperties": false,\n "properties": {\n "changes_permissions": {\n "type": "boolean"\n },\n "launches_process": {\n "type": "boolean"\n },\n "may_access_network": {\n "type": "boolean"\n },\n "may_show_ui": {\n "type": "boolean"\n },\n "may_write_filesystem": {\n "type": "boolean"\n },\n "mutates_artifact": {\n "type": "boolean"\n },\n "requires_root": {\n "type": "boolean"\n }\n },\n "required": [\n "mutates_artifact",\n "launches_process",\n "may_show_ui",\n "may_access_network",\n "may_write_filesystem",\n "changes_permissions",\n "requires_root"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "operation": {\n "type": "string"\n },\n "reason": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "operation",\n "effects",\n "limitations",\n "available",\n "reason",\n "availability_code"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "client_features": {\n "additionalProperties": false,\n "properties": {\n "elicitation_form": {\n "type": "boolean"\n },\n "elicitation_url": {\n "type": "boolean"\n },\n "roots": {\n "type": "boolean"\n },\n "sampling": {\n "type": "boolean"\n }\n },\n "required": [\n "elicitation_form",\n "elicitation_url",\n "roots",\n "sampling"\n ],\n "type": "object"\n },\n "open": {\n "const": false,\n "type": "boolean"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "type": "string"\n },\n "name": {\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "providers": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "type": "string"\n },\n "name": {\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "server_identity": {\n "additionalProperties": false,\n "properties": {\n "alignment": {\n "additionalProperties": false,\n "properties": {\n "reasons": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "remediation": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "state": {\n "enum": [\n "aligned",\n "mcp_server_restart_required",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "state",\n "reasons",\n "remediation"\n ],\n "type": "object"\n },\n "catalog": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema1"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "client": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "name": {\n "type": "string"\n },\n "version": {\n "type": "string"\n }\n },\n "required": [\n "name",\n "version"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "negotiated_protocol_version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "package": {\n "additionalProperties": false,\n "properties": {\n "build_commit": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "type": "string"\n },\n "root_path": {\n "type": "string"\n },\n "version": {\n "type": "string"\n }\n },\n "required": [\n "name",\n "version",\n "root_path",\n "build_commit"\n ],\n "type": "object"\n },\n "protocol_features": {\n "additionalProperties": false,\n "properties": {\n "cancellation": {\n "type": "boolean"\n },\n "elicitation": {\n "type": "boolean"\n },\n "progress": {\n "type": "boolean"\n }\n },\n "required": [\n "progress",\n "cancellation",\n "elicitation"\n ],\n "type": "object"\n },\n "sdk": {\n "additionalProperties": false,\n "properties": {\n "client_test": {\n "type": "string"\n },\n "core": {\n "type": "string"\n },\n "server": {\n "type": "string"\n }\n },\n "required": [\n "server",\n "client_test",\n "core"\n ],\n "type": "object"\n },\n "server": {\n "additionalProperties": false,\n "properties": {\n "command_path": {\n "type": "string"\n },\n "name": {\n "type": "string"\n },\n "started_at": {\n "type": "string"\n },\n "version": {\n "type": "string"\n }\n },\n "required": [\n "name",\n "version",\n "started_at",\n "command_path"\n ],\n "type": "object"\n },\n "skill": {\n "additionalProperties": false,\n "properties": {\n "expected_version": {\n "type": "string"\n },\n "name": {\n "type": "string"\n }\n },\n "required": [\n "name",\n "expected_version"\n ],\n "type": "object"\n }\n },\n "required": [\n "package",\n "server",\n "sdk",\n "negotiated_protocol_version",\n "client",\n "skill",\n "catalog",\n "protocol_features",\n "alignment"\n ],\n "type": "object"\n },\n "tool_availability": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "annotations": {\n "additionalProperties": false,\n "properties": {\n "destructive": {\n "type": "boolean"\n },\n "idempotent": {\n "type": "boolean"\n },\n "open_world": {\n "type": "boolean"\n },\n "read_only": {\n "type": "boolean"\n }\n },\n "required": [\n "read_only",\n "destructive",\n "idempotent",\n "open_world"\n ],\n "type": "object"\n },\n "available": {\n "const": true,\n "type": "boolean"\n },\n "client_requirements": {\n "additionalProperties": false,\n "properties": {\n "missing_optional": {\n "items": {\n "enum": [\n "elicitation_form",\n "elicitation_url",\n "roots",\n "sampling"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "missing_required": {\n "items": {\n "enum": [\n "elicitation_form",\n "elicitation_url",\n "roots",\n "sampling"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "optional": {\n "items": {\n "enum": [\n "elicitation_form",\n "elicitation_url",\n "roots",\n "sampling"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "required": {\n "items": {\n "enum": [\n "elicitation_form",\n "elicitation_url",\n "roots",\n "sampling"\n ],\n "type": "string"\n },\n "type": "array"\n }\n },\n "required": [\n "required",\n "optional",\n "missing_required",\n "missing_optional"\n ],\n "type": "object"\n },\n "default_mode_available": {\n "type": "boolean"\n },\n "effects": {\n "additionalProperties": false,\n "properties": {\n "accessesNetwork": {\n "type": "boolean"\n },\n "changesUiState": {\n "type": "boolean"\n },\n "idempotent": {\n "type": "boolean"\n },\n "launchesProcess": {\n "type": "boolean"\n },\n "mayDiscardData": {\n "type": "boolean"\n },\n "mutatesSession": {\n "type": "boolean"\n },\n "mutatesTarget": {\n "type": "boolean"\n },\n "writesFilesystem": {\n "type": "boolean"\n }\n },\n "required": [\n "mutatesTarget",\n "mutatesSession",\n "writesFilesystem",\n "launchesProcess",\n "accessesNetwork",\n "changesUiState",\n "mayDiscardData",\n "idempotent"\n ],\n "type": "object"\n },\n "modes": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "missing_operations": {\n "items": {\n "type": "string"\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "name": {\n "type": "string"\n },\n "remediation": {\n "type": "null"\n }\n },\n "required": [\n "name",\n "available",\n "missing_operations",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "missing_operations": {\n "items": {\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "name": {\n "type": "string"\n },\n "remediation": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "name",\n "available",\n "missing_operations",\n "remediation"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "name": {\n "type": "string"\n },\n "reason": {\n "const": "available",\n "type": "string"\n },\n "remediation": {\n "type": "null"\n },\n "surface": {\n "type": "string"\n }\n },\n "required": [\n "name",\n "surface",\n "client_requirements",\n "effects",\n "annotations",\n "available",\n "reason",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "annotations": {\n "additionalProperties": false,\n "properties": {\n "destructive": {\n "type": "boolean"\n },\n "idempotent": {\n "type": "boolean"\n },\n "open_world": {\n "type": "boolean"\n },\n "read_only": {\n "type": "boolean"\n }\n },\n "required": [\n "read_only",\n "destructive",\n "idempotent",\n "open_world"\n ],\n "type": "object"\n },\n "available": {\n "const": false,\n "type": "boolean"\n },\n "client_requirements": {\n "additionalProperties": false,\n "properties": {\n "missing_optional": {\n "items": {\n "enum": [\n "elicitation_form",\n "elicitation_url",\n "roots",\n "sampling"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "missing_required": {\n "items": {\n "enum": [\n "elicitation_form",\n "elicitation_url",\n "roots",\n "sampling"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "optional": {\n "items": {\n "enum": [\n "elicitation_form",\n "elicitation_url",\n "roots",\n "sampling"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "required": {\n "items": {\n "enum": [\n "elicitation_form",\n "elicitation_url",\n "roots",\n "sampling"\n ],\n "type": "string"\n },\n "type": "array"\n }\n },\n "required": [\n "required",\n "optional",\n "missing_required",\n "missing_optional"\n ],\n "type": "object"\n },\n "default_mode_available": {\n "type": "boolean"\n },\n "effects": {\n "additionalProperties": false,\n "properties": {\n "accessesNetwork": {\n "type": "boolean"\n },\n "changesUiState": {\n "type": "boolean"\n },\n "idempotent": {\n "type": "boolean"\n },\n "launchesProcess": {\n "type": "boolean"\n },\n "mayDiscardData": {\n "type": "boolean"\n },\n "mutatesSession": {\n "type": "boolean"\n },\n "mutatesTarget": {\n "type": "boolean"\n },\n "writesFilesystem": {\n "type": "boolean"\n }\n },\n "required": [\n "mutatesTarget",\n "mutatesSession",\n "writesFilesystem",\n "launchesProcess",\n "accessesNetwork",\n "changesUiState",\n "mayDiscardData",\n "idempotent"\n ],\n "type": "object"\n },\n "modes": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "missing_operations": {\n "items": {\n "type": "string"\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "name": {\n "type": "string"\n },\n "remediation": {\n "type": "null"\n }\n },\n "required": [\n "name",\n "available",\n "missing_operations",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "missing_operations": {\n "items": {\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "name": {\n "type": "string"\n },\n "remediation": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "name",\n "available",\n "missing_operations",\n "remediation"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "name": {\n "type": "string"\n },\n "reason": {\n "enum": [\n "client_capability_missing",\n "target_required",\n "provider_missing",\n "provider_unavailable",\n "target_unsupported",\n "unsupported_host"\n ],\n "type": "string"\n },\n "remediation": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "surface": {\n "type": "string"\n }\n },\n "required": [\n "name",\n "surface",\n "client_requirements",\n "effects",\n "annotations",\n "available",\n "reason",\n "remediation"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n }\n },\n "required": [\n "provider",\n "providers",\n "capabilities",\n "analysis_run",\n "analysis_activity",\n "analysis_provider_binding",\n "analysis_provider_candidates",\n "tool_availability",\n "client_features",\n "server_identity",\n "open"\n ],\n "type": "object"\n },\n {\n "additionalProperties": {},\n "properties": {\n "analysis_activity": {\n "additionalProperties": false,\n "properties": {\n "providers": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "active": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "caller_state": {\n "enum": [\n "waiting",\n "cancelled"\n ],\n "type": "string"\n },\n "elapsed_ms": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "request_id": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "request_id",\n "operation",\n "elapsed_ms",\n "caller_state"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "type": "string"\n },\n "name": {\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "queued_requests": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "provider",\n "active",\n "queued_requests"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "status": {\n "enum": [\n "not_observed",\n "idle",\n "busy"\n ],\n "type": "string"\n }\n },\n "required": [\n "status",\n "providers"\n ],\n "type": "object"\n },\n "analysis_provider_binding": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "type": "string"\n },\n "name": {\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "selection_source": {\n "enum": [\n "request",\n "environment",\n "auto-single-candidate"\n ],\n "type": "string"\n }\n },\n "required": [\n "provider",\n "selection_source",\n "analysis_profile"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "analysis_provider_candidates": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "availability": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "code": {\n "type": "null"\n },\n "diagnostics": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "reason": {\n "type": "null"\n },\n "status": {\n "const": "available",\n "type": "string"\n }\n },\n "required": [\n "status",\n "code",\n "reason",\n "diagnostics"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "code": {\n "enum": [\n "not_configured",\n "executable_missing",\n "runtime_missing",\n "unsupported_host",\n "unsupported_version",\n "target_kind_unsupported",\n "target_format_unsupported",\n "architecture_unsupported",\n "target_role_unsupported",\n "managed_target_unsupported",\n "open_options_invalid",\n "version_unresolved"\n ],\n "type": "string"\n },\n "diagnostics": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "reason": {\n "minLength": 1,\n "type": "string"\n },\n "status": {\n "const": "unavailable",\n "type": "string"\n }\n },\n "required": [\n "status",\n "code",\n "reason",\n "diagnostics"\n ],\n "type": "object"\n }\n ]\n },\n "capabilities": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "availability_code": {\n "type": "null"\n },\n "available": {\n "const": true,\n "type": "boolean"\n },\n "effects": {\n "additionalProperties": false,\n "properties": {\n "changes_permissions": {\n "type": "boolean"\n },\n "launches_process": {\n "type": "boolean"\n },\n "may_access_network": {\n "type": "boolean"\n },\n "may_show_ui": {\n "type": "boolean"\n },\n "may_write_filesystem": {\n "type": "boolean"\n },\n "mutates_artifact": {\n "type": "boolean"\n },\n "requires_root": {\n "type": "boolean"\n }\n },\n "required": [\n "mutates_artifact",\n "launches_process",\n "may_show_ui",\n "may_access_network",\n "may_write_filesystem",\n "changes_permissions",\n "requires_root"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "operation": {\n "type": "string"\n },\n "reason": {\n "type": "null"\n }\n },\n "required": [\n "operation",\n "effects",\n "limitations",\n "available",\n "reason",\n "availability_code"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "availability_code": {\n "anyOf": [\n {\n "enum": [\n "not_configured",\n "executable_missing",\n "runtime_missing",\n "unsupported_host",\n "unsupported_version",\n "target_kind_unsupported",\n "target_format_unsupported",\n "architecture_unsupported",\n "target_role_unsupported",\n "managed_target_unsupported",\n "open_options_invalid",\n "version_unresolved"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "available": {\n "const": false,\n "type": "boolean"\n },\n "effects": {\n "additionalProperties": false,\n "properties": {\n "changes_permissions": {\n "type": "boolean"\n },\n "launches_process": {\n "type": "boolean"\n },\n "may_access_network": {\n "type": "boolean"\n },\n "may_show_ui": {\n "type": "boolean"\n },\n "may_write_filesystem": {\n "type": "boolean"\n },\n "mutates_artifact": {\n "type": "boolean"\n },\n "requires_root": {\n "type": "boolean"\n }\n },\n "required": [\n "mutates_artifact",\n "launches_process",\n "may_show_ui",\n "may_access_network",\n "may_write_filesystem",\n "changes_permissions",\n "requires_root"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "operation": {\n "type": "string"\n },\n "reason": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "operation",\n "effects",\n "limitations",\n "available",\n "reason",\n "availability_code"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "type": "string"\n },\n "name": {\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "selected": {\n "type": "boolean"\n },\n "target_support": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "code": {\n "type": "null"\n },\n "diagnostics": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "reason": {\n "minLength": 1,\n "type": "string"\n },\n "status": {\n "const": "unknown",\n "type": "string"\n }\n },\n "required": [\n "status",\n "code",\n "reason",\n "diagnostics"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "code": {\n "type": "null"\n },\n "diagnostics": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "reason": {\n "type": "null"\n },\n "status": {\n "const": "supported",\n "type": "string"\n }\n },\n "required": [\n "status",\n "code",\n "reason",\n "diagnostics"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "code": {\n "enum": [\n "target_kind_unsupported",\n "target_format_unsupported",\n "architecture_unsupported",\n "target_role_unsupported",\n "managed_target_unsupported"\n ],\n "type": "string"\n },\n "diagnostics": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "reason": {\n "minLength": 1,\n "type": "string"\n },\n "status": {\n "const": "unsupported",\n "type": "string"\n }\n },\n "required": [\n "status",\n "code",\n "reason",\n "diagnostics"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "provider",\n "availability",\n "target_support",\n "selected",\n "capabilities"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "analysis_run": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "process_lineage": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "status": {\n "const": "not_observed",\n "type": "string"\n }\n },\n "required": [\n "status"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "snapshots": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "observation": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "launcher_pid": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "observed_at": {\n "format": "date-time",\n "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))$",\n "type": "string"\n },\n "process_group_id": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "reason": {\n "minLength": 1,\n "type": "string"\n },\n "status": {\n "const": "unavailable",\n "type": "string"\n }\n },\n "required": [\n "status",\n "observed_at",\n "launcher_pid",\n "process_group_id",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "descendants": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "parent_pid": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "pid": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "process_group_id": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n }\n },\n "required": [\n "pid",\n "parent_pid",\n "process_group_id"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "launcher_parent_pid": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "launcher_pid": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "observed_at": {\n "format": "date-time",\n "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))$",\n "type": "string"\n },\n "process_group_id": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "status": {\n "const": "verified",\n "type": "string"\n }\n },\n "required": [\n "status",\n "observed_at",\n "launcher_pid",\n "process_group_id",\n "launcher_parent_pid",\n "descendants"\n ],\n "type": "object"\n }\n ]\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "type": "string"\n },\n "name": {\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "observation"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "status": {\n "const": "snapshots",\n "type": "string"\n }\n },\n "required": [\n "status",\n "snapshots"\n ],\n "type": "object"\n }\n ]\n },\n "run_id": {\n "format": "uuid",\n "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)$",\n "type": "string"\n }\n },\n "required": [\n "run_id",\n "process_lineage"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "capabilities": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "availability_code": {\n "type": "null"\n },\n "available": {\n "const": true,\n "type": "boolean"\n },\n "effects": {\n "additionalProperties": false,\n "properties": {\n "changes_permissions": {\n "type": "boolean"\n },\n "launches_process": {\n "type": "boolean"\n },\n "may_access_network": {\n "type": "boolean"\n },\n "may_show_ui": {\n "type": "boolean"\n },\n "may_write_filesystem": {\n "type": "boolean"\n },\n "mutates_artifact": {\n "type": "boolean"\n },\n "requires_root": {\n "type": "boolean"\n }\n },\n "required": [\n "mutates_artifact",\n "launches_process",\n "may_show_ui",\n "may_access_network",\n "may_write_filesystem",\n "changes_permissions",\n "requires_root"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "operation": {\n "type": "string"\n },\n "reason": {\n "type": "null"\n }\n },\n "required": [\n "operation",\n "effects",\n "limitations",\n "available",\n "reason",\n "availability_code"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "availability_code": {\n "anyOf": [\n {\n "enum": [\n "not_configured",\n "executable_missing",\n "runtime_missing",\n "unsupported_host",\n "unsupported_version",\n "target_kind_unsupported",\n "target_format_unsupported",\n "architecture_unsupported",\n "target_role_unsupported",\n "managed_target_unsupported",\n "open_options_invalid",\n "version_unresolved"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "available": {\n "const": false,\n "type": "boolean"\n },\n "effects": {\n "additionalProperties": false,\n "properties": {\n "changes_permissions": {\n "type": "boolean"\n },\n "launches_process": {\n "type": "boolean"\n },\n "may_access_network": {\n "type": "boolean"\n },\n "may_show_ui": {\n "type": "boolean"\n },\n "may_write_filesystem": {\n "type": "boolean"\n },\n "mutates_artifact": {\n "type": "boolean"\n },\n "requires_root": {\n "type": "boolean"\n }\n },\n "required": [\n "mutates_artifact",\n "launches_process",\n "may_show_ui",\n "may_access_network",\n "may_write_filesystem",\n "changes_permissions",\n "requires_root"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "operation": {\n "type": "string"\n },\n "reason": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "operation",\n "effects",\n "limitations",\n "available",\n "reason",\n "availability_code"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "client_features": {\n "additionalProperties": false,\n "properties": {\n "elicitation_form": {\n "type": "boolean"\n },\n "elicitation_url": {\n "type": "boolean"\n },\n "roots": {\n "type": "boolean"\n },\n "sampling": {\n "type": "boolean"\n }\n },\n "required": [\n "elicitation_form",\n "elicitation_url",\n "roots",\n "sampling"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map"\n ],\n "type": "string"\n },\n "kind": {\n "enum": [\n "executable",\n "database",\n "archive",\n "artifact"\n ],\n "type": "string"\n },\n "open": {\n "const": true,\n "type": "boolean"\n },\n "path": {\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "type": "string"\n },\n "name": {\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "providers": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "type": "string"\n },\n "name": {\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "server_identity": {\n "additionalProperties": false,\n "properties": {\n "alignment": {\n "additionalProperties": false,\n "properties": {\n "reasons": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "remediation": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "state": {\n "enum": [\n "aligned",\n "mcp_server_restart_required",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "state",\n "reasons",\n "remediation"\n ],\n "type": "object"\n },\n "catalog": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema1"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "client": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "name": {\n "type": "string"\n },\n "version": {\n "type": "string"\n }\n },\n "required": [\n "name",\n "version"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "negotiated_protocol_version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "package": {\n "additionalProperties": false,\n "properties": {\n "build_commit": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "name": {\n "type": "string"\n },\n "root_path": {\n "type": "string"\n },\n "version": {\n "type": "string"\n }\n },\n "required": [\n "name",\n "version",\n "root_path",\n "build_commit"\n ],\n "type": "object"\n },\n "protocol_features": {\n "additionalProperties": false,\n "properties": {\n "cancellation": {\n "type": "boolean"\n },\n "elicitation": {\n "type": "boolean"\n },\n "progress": {\n "type": "boolean"\n }\n },\n "required": [\n "progress",\n "cancellation",\n "elicitation"\n ],\n "type": "object"\n },\n "sdk": {\n "additionalProperties": false,\n "properties": {\n "client_test": {\n "type": "string"\n },\n "core": {\n "type": "string"\n },\n "server": {\n "type": "string"\n }\n },\n "required": [\n "server",\n "client_test",\n "core"\n ],\n "type": "object"\n },\n "server": {\n "additionalProperties": false,\n "properties": {\n "command_path": {\n "type": "string"\n },\n "name": {\n "type": "string"\n },\n "started_at": {\n "type": "string"\n },\n "version": {\n "type": "string"\n }\n },\n "required": [\n "name",\n "version",\n "started_at",\n "command_path"\n ],\n "type": "object"\n },\n "skill": {\n "additionalProperties": false,\n "properties": {\n "expected_version": {\n "type": "string"\n },\n "name": {\n "type": "string"\n }\n },\n "required": [\n "name",\n "expected_version"\n ],\n "type": "object"\n }\n },\n "required": [\n "package",\n "server",\n "sdk",\n "negotiated_protocol_version",\n "client",\n "skill",\n "catalog",\n "protocol_features",\n "alignment"\n ],\n "type": "object"\n },\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "tool_availability": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "annotations": {\n "additionalProperties": false,\n "properties": {\n "destructive": {\n "type": "boolean"\n },\n "idempotent": {\n "type": "boolean"\n },\n "open_world": {\n "type": "boolean"\n },\n "read_only": {\n "type": "boolean"\n }\n },\n "required": [\n "read_only",\n "destructive",\n "idempotent",\n "open_world"\n ],\n "type": "object"\n },\n "available": {\n "const": true,\n "type": "boolean"\n },\n "client_requirements": {\n "additionalProperties": false,\n "properties": {\n "missing_optional": {\n "items": {\n "enum": [\n "elicitation_form",\n "elicitation_url",\n "roots",\n "sampling"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "missing_required": {\n "items": {\n "enum": [\n "elicitation_form",\n "elicitation_url",\n "roots",\n "sampling"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "optional": {\n "items": {\n "enum": [\n "elicitation_form",\n "elicitation_url",\n "roots",\n "sampling"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "required": {\n "items": {\n "enum": [\n "elicitation_form",\n "elicitation_url",\n "roots",\n "sampling"\n ],\n "type": "string"\n },\n "type": "array"\n }\n },\n "required": [\n "required",\n "optional",\n "missing_required",\n "missing_optional"\n ],\n "type": "object"\n },\n "default_mode_available": {\n "type": "boolean"\n },\n "effects": {\n "additionalProperties": false,\n "properties": {\n "accessesNetwork": {\n "type": "boolean"\n },\n "changesUiState": {\n "type": "boolean"\n },\n "idempotent": {\n "type": "boolean"\n },\n "launchesProcess": {\n "type": "boolean"\n },\n "mayDiscardData": {\n "type": "boolean"\n },\n "mutatesSession": {\n "type": "boolean"\n },\n "mutatesTarget": {\n "type": "boolean"\n },\n "writesFilesystem": {\n "type": "boolean"\n }\n },\n "required": [\n "mutatesTarget",\n "mutatesSession",\n "writesFilesystem",\n "launchesProcess",\n "accessesNetwork",\n "changesUiState",\n "mayDiscardData",\n "idempotent"\n ],\n "type": "object"\n },\n "modes": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "missing_operations": {\n "items": {\n "type": "string"\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "name": {\n "type": "string"\n },\n "remediation": {\n "type": "null"\n }\n },\n "required": [\n "name",\n "available",\n "missing_operations",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "missing_operations": {\n "items": {\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "name": {\n "type": "string"\n },\n "remediation": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "name",\n "available",\n "missing_operations",\n "remediation"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "name": {\n "type": "string"\n },\n "reason": {\n "const": "available",\n "type": "string"\n },\n "remediation": {\n "type": "null"\n },\n "surface": {\n "type": "string"\n }\n },\n "required": [\n "name",\n "surface",\n "client_requirements",\n "effects",\n "annotations",\n "available",\n "reason",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "annotations": {\n "additionalProperties": false,\n "properties": {\n "destructive": {\n "type": "boolean"\n },\n "idempotent": {\n "type": "boolean"\n },\n "open_world": {\n "type": "boolean"\n },\n "read_only": {\n "type": "boolean"\n }\n },\n "required": [\n "read_only",\n "destructive",\n "idempotent",\n "open_world"\n ],\n "type": "object"\n },\n "available": {\n "const": false,\n "type": "boolean"\n },\n "client_requirements": {\n "additionalProperties": false,\n "properties": {\n "missing_optional": {\n "items": {\n "enum": [\n "elicitation_form",\n "elicitation_url",\n "roots",\n "sampling"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "missing_required": {\n "items": {\n "enum": [\n "elicitation_form",\n "elicitation_url",\n "roots",\n "sampling"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "optional": {\n "items": {\n "enum": [\n "elicitation_form",\n "elicitation_url",\n "roots",\n "sampling"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "required": {\n "items": {\n "enum": [\n "elicitation_form",\n "elicitation_url",\n "roots",\n "sampling"\n ],\n "type": "string"\n },\n "type": "array"\n }\n },\n "required": [\n "required",\n "optional",\n "missing_required",\n "missing_optional"\n ],\n "type": "object"\n },\n "default_mode_available": {\n "type": "boolean"\n },\n "effects": {\n "additionalProperties": false,\n "properties": {\n "accessesNetwork": {\n "type": "boolean"\n },\n "changesUiState": {\n "type": "boolean"\n },\n "idempotent": {\n "type": "boolean"\n },\n "launchesProcess": {\n "type": "boolean"\n },\n "mayDiscardData": {\n "type": "boolean"\n },\n "mutatesSession": {\n "type": "boolean"\n },\n "mutatesTarget": {\n "type": "boolean"\n },\n "writesFilesystem": {\n "type": "boolean"\n }\n },\n "required": [\n "mutatesTarget",\n "mutatesSession",\n "writesFilesystem",\n "launchesProcess",\n "accessesNetwork",\n "changesUiState",\n "mayDiscardData",\n "idempotent"\n ],\n "type": "object"\n },\n "modes": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": true,\n "type": "boolean"\n },\n "missing_operations": {\n "items": {\n "type": "string"\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "name": {\n "type": "string"\n },\n "remediation": {\n "type": "null"\n }\n },\n "required": [\n "name",\n "available",\n "missing_operations",\n "remediation"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "available": {\n "const": false,\n "type": "boolean"\n },\n "missing_operations": {\n "items": {\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "name": {\n "type": "string"\n },\n "remediation": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "name",\n "available",\n "missing_operations",\n "remediation"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "name": {\n "type": "string"\n },\n "reason": {\n "enum": [\n "client_capability_missing",\n "target_required",\n "provider_missing",\n "provider_unavailable",\n "target_unsupported",\n "unsupported_host"\n ],\n "type": "string"\n },\n "remediation": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "surface": {\n "type": "string"\n }\n },\n "required": [\n "name",\n "surface",\n "client_requirements",\n "effects",\n "annotations",\n "available",\n "reason",\n "remediation"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n }\n },\n "required": [\n "provider",\n "providers",\n "capabilities",\n "analysis_run",\n "analysis_activity",\n "analysis_provider_binding",\n "analysis_provider_candidates",\n "tool_availability",\n "client_features",\n "server_identity",\n "open",\n "path",\n "format",\n "kind",\n "sha256",\n "architecture"\n ],\n "type": "object"\n }\n ]\n }\n ]\n }\n },\n "required": [\n "result"\n ],\n "type": "object"\n },\n "requiresSession": true,\n "title": "Binary Session"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": true,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Atomically write the session\'s deterministic Evidence bundle to the requested local path. Existing files require overwrite: true; records and manifests use canonical byte-stable ordering.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": true,\n "mutatesSession": false,\n "mutatesTarget": false,\n "writesFilesystem": true\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "overwrite": false,\n "path": "/tmp/evidence.json"\n }\n ],\n "properties": {\n "overwrite": {\n "default": false,\n "description": "Whether an existing destination may be replaced.",\n "type": "boolean"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "path"\n ],\n "type": "object"\n },\n "kind": "session",\n "name": "export_evidence_bundle",\n "outputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "result": {\n "additionalProperties": false,\n "properties": {\n "bytes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "type": "string"\n },\n "records": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "unknowns": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "path",\n "bytes",\n "records",\n "unknowns"\n ],\n "type": "object"\n }\n },\n "required": [\n "result"\n ],\n "type": "object"\n },\n "requiresSession": true,\n "title": "Export Evidence Bundle"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Read the JSON bundle at the supplied local path, validate every Evidence ID and canonical manifest, then atomically merge it. Imported content is data only and is never executed.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "path": "evidence.json"\n }\n ],\n "properties": {\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "path"\n ],\n "type": "object"\n },\n "kind": "session",\n "name": "import_evidence_bundle",\n "outputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "result": {\n "additionalProperties": false,\n "properties": {\n "imported": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "total": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "unknowns_added": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "imported",\n "unknowns_added",\n "total"\n ],\n "type": "object"\n }\n },\n "required": [\n "result"\n ],\n "type": "object"\n },\n "requiresSession": true,\n "title": "Import Evidence Bundle"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": false,\n "openWorldHint": true,\n "readOnlyHint": false\n },\n "description": "Run one caller-selected command under a PTY and return process capture Evidence with residual unknowns. A command name resolves through the inherited PATH; the working directory defaults to the caller\'s current directory; host environment variables are inherited with scenario overrides. Filesystem snapshots are opt-in through filesystem_observation_paths. The target runs with the current user\'s permissions; this is not a security sandbox.",\n "effects": {\n "accessesNetwork": true,\n "changesUiState": false,\n "idempotent": false,\n "launchesProcess": true,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": true\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "arguments": [],\n "environment": {},\n "events": [],\n "executable": "/usr/bin/true",\n "filesystem_observation_paths": [],\n "idle_timeout_ms": 30000,\n "limits": {\n "file_bytes": 10000000,\n "files": 10000,\n "filesystem_depth": 16,\n "output_bytes": 1000000,\n "processes": 1000\n },\n "normalization": {\n "paths": false,\n "patterns": [],\n "pids": true,\n "ports": true,\n "time_bucket_ms": 10\n },\n "settle_ms": 100,\n "terminal": {\n "columns": 80,\n "rows": 24,\n "scrollback": 1000\n },\n "timeout_ms": 30000,\n "working_directory": "/tmp"\n }\n ],\n "properties": {\n "arguments": {\n "default": [],\n "description": "Value for arguments.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "environment": {\n "additionalProperties": {\n "type": "string"\n },\n "default": {},\n "description": "Value for environment.",\n "propertyNames": {\n "pattern": "^[^=\\\\0]+$",\n "type": "string"\n },\n "type": "object"\n },\n "events": {\n "default": [],\n "description": "Value for events.",\n "items": {\n "oneOf": [\n {\n "properties": {\n "at_ms": {\n "description": "Value for at ms.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "data": {\n "description": "Value for data.",\n "type": "string"\n },\n "sensitive": {\n "default": false,\n "description": "Value for sensitive.",\n "type": "boolean"\n },\n "type": {\n "const": "input",\n "description": "Value for type.",\n "type": "string"\n }\n },\n "required": [\n "at_ms",\n "type",\n "data"\n ],\n "type": "object"\n },\n {\n "properties": {\n "at_ms": {\n "description": "Value for at ms.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "columns": {\n "description": "Value for columns.",\n "maximum": 65535,\n "minimum": 1,\n "type": "integer"\n },\n "rows": {\n "description": "Value for rows.",\n "maximum": 65535,\n "minimum": 1,\n "type": "integer"\n },\n "type": {\n "const": "resize",\n "description": "Value for type.",\n "type": "string"\n }\n },\n "required": [\n "at_ms",\n "type",\n "columns",\n "rows"\n ],\n "type": "object"\n },\n {\n "properties": {\n "at_ms": {\n "description": "Value for at ms.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "signal": {\n "description": "Value for signal.",\n "enum": [\n "SIGINT",\n "SIGTERM",\n "SIGKILL"\n ],\n "type": "string"\n },\n "type": {\n "const": "signal",\n "description": "Value for type.",\n "type": "string"\n }\n },\n "required": [\n "at_ms",\n "type",\n "signal"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "executable": {\n "description": "Command name or executable path to run.",\n "minLength": 1,\n "type": "string"\n },\n "filesystem_observation_paths": {\n "default": [],\n "description": "Value for filesystem observation paths.",\n "items": {\n "minLength": 1,\n "type": "string"\n },\n "type": "array"\n },\n "idle_timeout_ms": {\n "default": 30000,\n "description": "Value for idle timeout ms.",\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n "limits": {\n "additionalProperties": false,\n "default": {\n "file_bytes": 10000000,\n "files": 10000,\n "filesystem_depth": 16,\n "output_bytes": 1000000,\n "processes": 1000\n },\n "description": "Resource budgets that bound execution and retained output for this operation.",\n "properties": {\n "file_bytes": {\n "default": 10000000,\n "description": "Byte count for file.",\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n "files": {\n "default": 10000,\n "description": "Value for files.",\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n "filesystem_depth": {\n "default": 16,\n "description": "Value for filesystem depth.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "output_bytes": {\n "default": 1000000,\n "description": "Byte count for output.",\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n "processes": {\n "default": 1000,\n "description": "Value for processes.",\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n }\n },\n "type": "object"\n },\n "normalization": {\n "default": {\n "paths": false,\n "patterns": [],\n "pids": true,\n "ports": true,\n "time_bucket_ms": 10\n },\n "description": "Value for normalization.",\n "properties": {\n "paths": {\n "default": false,\n "description": "Value for paths.",\n "type": "boolean"\n },\n "patterns": {\n "default": [],\n "description": "Value for patterns.",\n "items": {\n "properties": {\n "pattern": {\n "description": "Literal text or regular expression used to filter matching results.",\n "type": "string"\n },\n "replacement": {\n "description": "Value for replacement.",\n "type": "string"\n }\n },\n "required": [\n "pattern",\n "replacement"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "pids": {\n "default": true,\n "description": "Value for pids.",\n "type": "boolean"\n },\n "ports": {\n "default": true,\n "description": "Value for ports.",\n "type": "boolean"\n },\n "time_bucket_ms": {\n "default": 10,\n "description": "Value for time bucket ms.",\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n }\n },\n "type": "object"\n },\n "settle_ms": {\n "default": 100,\n "description": "Value for settle ms.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "terminal": {\n "default": {\n "columns": 80,\n "rows": 24,\n "scrollback": 1000\n },\n "description": "Value for terminal.",\n "properties": {\n "columns": {\n "default": 80,\n "description": "Value for columns.",\n "maximum": 65535,\n "minimum": 1,\n "type": "integer"\n },\n "rows": {\n "default": 24,\n "description": "Value for rows.",\n "maximum": 65535,\n "minimum": 1,\n "type": "integer"\n },\n "scrollback": {\n "default": 1000,\n "description": "Value for scrollback.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "type": "object"\n },\n "timeout_ms": {\n "default": 30000,\n "description": "Value for timeout ms.",\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n "working_directory": {\n "default": ".",\n "description": "Value for working directory.",\n "type": "string"\n }\n },\n "required": [\n "executable"\n ],\n "type": "object"\n },\n "kind": "session",\n "name": "capture_process_scenario",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "cleanup": {\n "additionalProperties": false,\n "properties": {\n "owned_process_group": {\n "const": "verified",\n "type": "string"\n },\n "temporary_root": {\n "const": "removed",\n "type": "string"\n }\n },\n "required": [\n "owned_process_group",\n "temporary_root"\n ],\n "type": "object"\n },\n "event_journal": {\n "default": [],\n "items": {\n "additionalProperties": false,\n "properties": {\n "capture_order": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "collection": {\n "enum": [\n "frames",\n "rendered_frames",\n "interaction_events",\n "lifecycle",\n "process_samples",\n "filesystem_checkpoints"\n ],\n "type": "string"\n },\n "index": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "capture_order",\n "collection",\n "index"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "exit": {\n "additionalProperties": false,\n "properties": {\n "code": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": -9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "reason": {\n "enum": [\n "exited",\n "timeout",\n "idle_timeout"\n ],\n "type": "string"\n },\n "signal": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": -9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "code",\n "signal",\n "reason"\n ],\n "type": "object"\n },\n "files_after": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "mode": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "type": "string"\n },\n "sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "size": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "symlink_target": {\n "type": "null"\n },\n "type": {\n "const": "file",\n "type": "string"\n }\n },\n "required": [\n "path",\n "mode",\n "size",\n "type",\n "sha256",\n "symlink_target"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "mode": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "type": "string"\n },\n "sha256": {\n "type": "null"\n },\n "size": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "symlink_target": {\n "type": "string"\n },\n "type": {\n "const": "symlink",\n "type": "string"\n }\n },\n "required": [\n "path",\n "mode",\n "size",\n "type",\n "sha256",\n "symlink_target"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "mode": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "type": "string"\n },\n "sha256": {\n "type": "null"\n },\n "size": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "symlink_target": {\n "type": "null"\n },\n "type": {\n "enum": [\n "directory",\n "other"\n ],\n "type": "string"\n }\n },\n "required": [\n "path",\n "mode",\n "size",\n "type",\n "sha256",\n "symlink_target"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "files_before": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "mode": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "type": "string"\n },\n "sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "size": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "symlink_target": {\n "type": "null"\n },\n "type": {\n "const": "file",\n "type": "string"\n }\n },\n "required": [\n "path",\n "mode",\n "size",\n "type",\n "sha256",\n "symlink_target"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "mode": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "type": "string"\n },\n "sha256": {\n "type": "null"\n },\n "size": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "symlink_target": {\n "type": "string"\n },\n "type": {\n "const": "symlink",\n "type": "string"\n }\n },\n "required": [\n "path",\n "mode",\n "size",\n "type",\n "sha256",\n "symlink_target"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "mode": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "type": "string"\n },\n "sha256": {\n "type": "null"\n },\n "size": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "symlink_target": {\n "type": "null"\n },\n "type": {\n "enum": [\n "directory",\n "other"\n ],\n "type": "string"\n }\n },\n "required": [\n "path",\n "mode",\n "size",\n "type",\n "sha256",\n "symlink_target"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "filesystem_checkpoints": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "at_ms": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "effects": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "after": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "mode": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "type": "string"\n },\n "sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "size": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "symlink_target": {\n "type": "null"\n },\n "type": {\n "const": "file",\n "type": "string"\n }\n },\n "required": [\n "path",\n "mode",\n "size",\n "type",\n "sha256",\n "symlink_target"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "mode": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "type": "string"\n },\n "sha256": {\n "type": "null"\n },\n "size": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "symlink_target": {\n "type": "string"\n },\n "type": {\n "const": "symlink",\n "type": "string"\n }\n },\n "required": [\n "path",\n "mode",\n "size",\n "type",\n "sha256",\n "symlink_target"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "mode": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "type": "string"\n },\n "sha256": {\n "type": "null"\n },\n "size": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "symlink_target": {\n "type": "null"\n },\n "type": {\n "enum": [\n "directory",\n "other"\n ],\n "type": "string"\n }\n },\n "required": [\n "path",\n "mode",\n "size",\n "type",\n "sha256",\n "symlink_target"\n ],\n "type": "object"\n }\n ]\n },\n "before": {\n "type": "null"\n },\n "path": {\n "type": "string"\n },\n "status": {\n "const": "created",\n "type": "string"\n }\n },\n "required": [\n "path",\n "status",\n "before",\n "after"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "after": {\n "type": "null"\n },\n "before": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "mode": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "type": "string"\n },\n "sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "size": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "symlink_target": {\n "type": "null"\n },\n "type": {\n "const": "file",\n "type": "string"\n }\n },\n "required": [\n "path",\n "mode",\n "size",\n "type",\n "sha256",\n "symlink_target"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "mode": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "type": "string"\n },\n "sha256": {\n "type": "null"\n },\n "size": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "symlink_target": {\n "type": "string"\n },\n "type": {\n "const": "symlink",\n "type": "string"\n }\n },\n "required": [\n "path",\n "mode",\n "size",\n "type",\n "sha256",\n "symlink_target"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "mode": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "type": "string"\n },\n "sha256": {\n "type": "null"\n },\n "size": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "symlink_target": {\n "type": "null"\n },\n "type": {\n "enum": [\n "directory",\n "other"\n ],\n "type": "string"\n }\n },\n "required": [\n "path",\n "mode",\n "size",\n "type",\n "sha256",\n "symlink_target"\n ],\n "type": "object"\n }\n ]\n },\n "path": {\n "type": "string"\n },\n "status": {\n "const": "deleted",\n "type": "string"\n }\n },\n "required": [\n "path",\n "status",\n "before",\n "after"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "after": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "mode": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "type": "string"\n },\n "sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "size": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "symlink_target": {\n "type": "null"\n },\n "type": {\n "const": "file",\n "type": "string"\n }\n },\n "required": [\n "path",\n "mode",\n "size",\n "type",\n "sha256",\n "symlink_target"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "mode": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "type": "string"\n },\n "sha256": {\n "type": "null"\n },\n "size": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "symlink_target": {\n "type": "string"\n },\n "type": {\n "const": "symlink",\n "type": "string"\n }\n },\n "required": [\n "path",\n "mode",\n "size",\n "type",\n "sha256",\n "symlink_target"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "mode": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "type": "string"\n },\n "sha256": {\n "type": "null"\n },\n "size": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "symlink_target": {\n "type": "null"\n },\n "type": {\n "enum": [\n "directory",\n "other"\n ],\n "type": "string"\n }\n },\n "required": [\n "path",\n "mode",\n "size",\n "type",\n "sha256",\n "symlink_target"\n ],\n "type": "object"\n }\n ]\n },\n "before": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "mode": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "type": "string"\n },\n "sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "size": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "symlink_target": {\n "type": "null"\n },\n "type": {\n "const": "file",\n "type": "string"\n }\n },\n "required": [\n "path",\n "mode",\n "size",\n "type",\n "sha256",\n "symlink_target"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "mode": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "type": "string"\n },\n "sha256": {\n "type": "null"\n },\n "size": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "symlink_target": {\n "type": "string"\n },\n "type": {\n "const": "symlink",\n "type": "string"\n }\n },\n "required": [\n "path",\n "mode",\n "size",\n "type",\n "sha256",\n "symlink_target"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "mode": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "type": "string"\n },\n "sha256": {\n "type": "null"\n },\n "size": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "symlink_target": {\n "type": "null"\n },\n "type": {\n "enum": [\n "directory",\n "other"\n ],\n "type": "string"\n }\n },\n "required": [\n "path",\n "mode",\n "size",\n "type",\n "sha256",\n "symlink_target"\n ],\n "type": "object"\n }\n ]\n },\n "path": {\n "type": "string"\n },\n "status": {\n "enum": [\n "modified",\n "unchanged"\n ],\n "type": "string"\n }\n },\n "required": [\n "path",\n "status",\n "before",\n "after"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "files": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "mode": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "type": "string"\n },\n "sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "size": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "symlink_target": {\n "type": "null"\n },\n "type": {\n "const": "file",\n "type": "string"\n }\n },\n "required": [\n "path",\n "mode",\n "size",\n "type",\n "sha256",\n "symlink_target"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "mode": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "type": "string"\n },\n "sha256": {\n "type": "null"\n },\n "size": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "symlink_target": {\n "type": "string"\n },\n "type": {\n "const": "symlink",\n "type": "string"\n }\n },\n "required": [\n "path",\n "mode",\n "size",\n "type",\n "sha256",\n "symlink_target"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "mode": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "type": "string"\n },\n "sha256": {\n "type": "null"\n },\n "size": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "symlink_target": {\n "type": "null"\n },\n "type": {\n "enum": [\n "directory",\n "other"\n ],\n "type": "string"\n }\n },\n "required": [\n "path",\n "mode",\n "size",\n "type",\n "sha256",\n "symlink_target"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "name": {\n "enum": [\n "before",\n "after_settlement"\n ],\n "type": "string"\n },\n "truncated": {\n "type": "boolean"\n }\n },\n "required": [\n "name",\n "at_ms",\n "files",\n "effects",\n "truncated"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "filesystem_effects": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "after": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "mode": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "type": "string"\n },\n "sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "size": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "symlink_target": {\n "type": "null"\n },\n "type": {\n "const": "file",\n "type": "string"\n }\n },\n "required": [\n "path",\n "mode",\n "size",\n "type",\n "sha256",\n "symlink_target"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "mode": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "type": "string"\n },\n "sha256": {\n "type": "null"\n },\n "size": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "symlink_target": {\n "type": "string"\n },\n "type": {\n "const": "symlink",\n "type": "string"\n }\n },\n "required": [\n "path",\n "mode",\n "size",\n "type",\n "sha256",\n "symlink_target"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "mode": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "type": "string"\n },\n "sha256": {\n "type": "null"\n },\n "size": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "symlink_target": {\n "type": "null"\n },\n "type": {\n "enum": [\n "directory",\n "other"\n ],\n "type": "string"\n }\n },\n "required": [\n "path",\n "mode",\n "size",\n "type",\n "sha256",\n "symlink_target"\n ],\n "type": "object"\n }\n ]\n },\n "before": {\n "type": "null"\n },\n "path": {\n "type": "string"\n },\n "status": {\n "const": "created",\n "type": "string"\n }\n },\n "required": [\n "path",\n "status",\n "before",\n "after"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "after": {\n "type": "null"\n },\n "before": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "mode": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "type": "string"\n },\n "sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "size": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "symlink_target": {\n "type": "null"\n },\n "type": {\n "const": "file",\n "type": "string"\n }\n },\n "required": [\n "path",\n "mode",\n "size",\n "type",\n "sha256",\n "symlink_target"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "mode": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "type": "string"\n },\n "sha256": {\n "type": "null"\n },\n "size": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "symlink_target": {\n "type": "string"\n },\n "type": {\n "const": "symlink",\n "type": "string"\n }\n },\n "required": [\n "path",\n "mode",\n "size",\n "type",\n "sha256",\n "symlink_target"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "mode": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "type": "string"\n },\n "sha256": {\n "type": "null"\n },\n "size": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "symlink_target": {\n "type": "null"\n },\n "type": {\n "enum": [\n "directory",\n "other"\n ],\n "type": "string"\n }\n },\n "required": [\n "path",\n "mode",\n "size",\n "type",\n "sha256",\n "symlink_target"\n ],\n "type": "object"\n }\n ]\n },\n "path": {\n "type": "string"\n },\n "status": {\n "const": "deleted",\n "type": "string"\n }\n },\n "required": [\n "path",\n "status",\n "before",\n "after"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "after": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "mode": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "type": "string"\n },\n "sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "size": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "symlink_target": {\n "type": "null"\n },\n "type": {\n "const": "file",\n "type": "string"\n }\n },\n "required": [\n "path",\n "mode",\n "size",\n "type",\n "sha256",\n "symlink_target"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "mode": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "type": "string"\n },\n "sha256": {\n "type": "null"\n },\n "size": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "symlink_target": {\n "type": "string"\n },\n "type": {\n "const": "symlink",\n "type": "string"\n }\n },\n "required": [\n "path",\n "mode",\n "size",\n "type",\n "sha256",\n "symlink_target"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "mode": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "type": "string"\n },\n "sha256": {\n "type": "null"\n },\n "size": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "symlink_target": {\n "type": "null"\n },\n "type": {\n "enum": [\n "directory",\n "other"\n ],\n "type": "string"\n }\n },\n "required": [\n "path",\n "mode",\n "size",\n "type",\n "sha256",\n "symlink_target"\n ],\n "type": "object"\n }\n ]\n },\n "before": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "mode": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "type": "string"\n },\n "sha256": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "size": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "symlink_target": {\n "type": "null"\n },\n "type": {\n "const": "file",\n "type": "string"\n }\n },\n "required": [\n "path",\n "mode",\n "size",\n "type",\n "sha256",\n "symlink_target"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "mode": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "type": "string"\n },\n "sha256": {\n "type": "null"\n },\n "size": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "symlink_target": {\n "type": "string"\n },\n "type": {\n "const": "symlink",\n "type": "string"\n }\n },\n "required": [\n "path",\n "mode",\n "size",\n "type",\n "sha256",\n "symlink_target"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "mode": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "path": {\n "type": "string"\n },\n "sha256": {\n "type": "null"\n },\n "size": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "symlink_target": {\n "type": "null"\n },\n "type": {\n "enum": [\n "directory",\n "other"\n ],\n "type": "string"\n }\n },\n "required": [\n "path",\n "mode",\n "size",\n "type",\n "sha256",\n "symlink_target"\n ],\n "type": "object"\n }\n ]\n },\n "path": {\n "type": "string"\n },\n "status": {\n "enum": [\n "modified",\n "unchanged"\n ],\n "type": "string"\n }\n },\n "required": [\n "path",\n "status",\n "before",\n "after"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "frames": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "at_ms": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "data": {\n "type": "string"\n },\n "sequence": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "sequence",\n "at_ms",\n "data"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "interaction_events": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "data": {\n "type": "string"\n },\n "dispatched_at_ms": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "outcome": {\n "enum": [\n "dispatched",\n "target_exited",\n "failed"\n ],\n "type": "string"\n },\n "scheduled_at_ms": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "sequence": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "type": {\n "enum": [\n "input",\n "resize",\n "signal"\n ],\n "type": "string"\n }\n },\n "required": [\n "sequence",\n "scheduled_at_ms",\n "dispatched_at_ms",\n "type",\n "data",\n "outcome"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "manifest": {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "comparison_contract": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "comparison_contract_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "completed_at": {\n "format": "date-time",\n "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))$",\n "type": "string"\n },\n "executable_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "full_scenario_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "normalization_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n },\n "provider_version": {\n "minLength": 1,\n "type": "string"\n },\n "pty_backend": {\n "const": "node-pty",\n "type": "string"\n },\n "rea_version": {\n "minLength": 1,\n "type": "string"\n },\n "scenario": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "started_at": {\n "format": "date-time",\n "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))$",\n "type": "string"\n }\n },\n "required": [\n "rea_version",\n "provider_version",\n "platform",\n "architecture",\n "pty_backend",\n "started_at",\n "completed_at",\n "scenario",\n "comparison_contract",\n "full_scenario_sha256",\n "comparison_contract_sha256",\n "executable_sha256",\n "normalization_sha256"\n ],\n "type": "object"\n },\n "normalization": {\n "additionalProperties": false,\n "properties": {\n "paths": {\n "type": "boolean"\n },\n "patterns": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "pattern": {\n "type": "string"\n },\n "replacement": {\n "type": "string"\n }\n },\n "required": [\n "pattern",\n "replacement"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "pids": {\n "type": "boolean"\n },\n "ports": {\n "type": "boolean"\n },\n "time_bucket_ms": {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n }\n },\n "required": [\n "paths",\n "pids",\n "ports",\n "time_bucket_ms",\n "patterns"\n ],\n "type": "object"\n },\n "process_samples": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "at_ms": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "command": {\n "type": "string"\n },\n "parent_pid": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "pid": {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n "process_group_id": {\n "anyOf": [\n {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "session_id": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "at_ms",\n "pid",\n "parent_pid",\n "command",\n "process_group_id",\n "session_id"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "rendered_frames": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "active_buffer": {\n "enum": [\n "normal",\n "alternate"\n ],\n "type": "string"\n },\n "at_ms": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "columns": {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n "cursor_x": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "cursor_y": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "lines": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "rows": {\n "exclusiveMinimum": 0,\n "maximum": 9007199254740991,\n "type": "integer"\n },\n "sequence": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "serialized_state": {\n "type": "string"\n }\n },\n "required": [\n "sequence",\n "at_ms",\n "columns",\n "rows",\n "cursor_x",\n "cursor_y",\n "active_buffer",\n "lines",\n "serialized_state"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "residual_unknowns": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "type": "string"\n },\n "scope": {\n "enum": [\n "terminal",\n "interaction",\n "exit",\n "process",\n "filesystem",\n "cleanup",\n "network",\n "environment"\n ],\n "type": "string"\n }\n },\n "required": [\n "scope",\n "reason"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "settlement": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "cleanup_outcome": {\n "const": "not_required",\n "type": "string"\n },\n "elapsed_ms": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "state": {\n "const": "quiesced",\n "type": "string"\n }\n },\n "required": [\n "state",\n "elapsed_ms",\n "cleanup_outcome"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "cleanup_outcome": {\n "enum": [\n "cleaned",\n "failed"\n ],\n "type": "string"\n },\n "elapsed_ms": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "state": {\n "enum": [\n "alive_at_deadline",\n "unverifiable"\n ],\n "type": "string"\n }\n },\n "required": [\n "state",\n "elapsed_ms",\n "cleanup_outcome"\n ],\n "type": "object"\n }\n ]\n },\n "truncated": {\n "type": "boolean"\n }\n },\n "required": [\n "manifest",\n "normalization",\n "frames",\n "rendered_frames",\n "interaction_events",\n "exit",\n "settlement",\n "process_samples",\n "filesystem_checkpoints",\n "event_journal",\n "files_before",\n "files_after",\n "filesystem_effects",\n "truncated",\n "limitations",\n "residual_unknowns",\n "cleanup"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": true,\n "title": "Capture Process Scenario"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Compare two compatible process capture 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.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "left": {\n "authority": "controlled-replay",\n "confidence": "observed",\n "environment": {\n "architecture": "x86_64",\n "id": "fixture-linux",\n "isolation": "container",\n "platform": "linux"\n },\n "evidence_id": "ev_39dc6ca57fd8d981c0bce63a1de75dd752e0ae47ff911440949cba8f6a8f1b7c",\n "evidence_links": [],\n "limitations": [\n "Artifact identity is unavailable for this observation."\n ],\n "locations": [],\n "normalized_result": {\n "cleanup": {\n "owned_process_group": "verified",\n "temporary_root": "removed"\n },\n "event_journal": [],\n "exit": {\n "code": 0,\n "reason": "exited",\n "signal": null\n },\n "files_after": [],\n "files_before": [],\n "filesystem_checkpoints": [\n {\n "at_ms": 0,\n "effects": [],\n "files": [],\n "name": "before",\n "truncated": false\n },\n {\n "at_ms": 50,\n "effects": [],\n "files": [],\n "name": "after_settlement",\n "truncated": false\n }\n ],\n "filesystem_effects": [],\n "frames": [],\n "interaction_events": [],\n "limitations": [],\n "manifest": {\n "architecture": "fixture",\n "comparison_contract": {},\n "comparison_contract_sha256": "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a",\n "completed_at": "2026-01-01T00:00:00.001Z",\n "executable_sha256": "0000000000000000000000000000000000000000000000000000000000000000",\n "full_scenario_sha256": "e9fb6dbb12060cb724e2c6360da0d406b8dcb13ed91769105f92efe312491fc7",\n "normalization_sha256": "60a27b2d1ee5aa73bf2e5cb2deaed2e9cc548f961ad2e3772c981828b643cc43",\n "platform": "fixture",\n "provider_version": "3",\n "pty_backend": "node-pty",\n "rea_version": "1.1.0",\n "scenario": {\n "executable_sha256": "0000000000000000000000000000000000000000000000000000000000000000"\n },\n "started_at": "2026-01-01T00:00:00.000Z"\n },\n "normalization": {\n "paths": true,\n "patterns": [],\n "pids": true,\n "ports": true,\n "time_bucket_ms": 10\n },\n "process_samples": [],\n "rendered_frames": [],\n "residual_unknowns": [],\n "settlement": {\n "cleanup_outcome": "not_required",\n "elapsed_ms": 50,\n "state": "quiesced"\n },\n "truncated": false\n },\n "operation": "capture_process_scenario",\n "parameters": {\n "scenario": "reference"\n },\n "predicate_type": "rea.process-capture",\n "provider": {\n "id": "rea-process",\n "name": "REA deterministic process harness",\n "version": "3"\n },\n "raw_result": null,\n "subject": null\n },\n "right": {\n "authority": "controlled-replay",\n "confidence": "observed",\n "environment": {\n "architecture": "x86_64",\n "id": "fixture-linux",\n "isolation": "container",\n "platform": "linux"\n },\n "evidence_id": "ev_434bd49ec7096a6a955adb869d0f38ae3cb62f1256376ca87ca7ca983e5ef538",\n "evidence_links": [],\n "limitations": [\n "Artifact identity is unavailable for this observation."\n ],\n "locations": [],\n "normalized_result": {\n "cleanup": {\n "owned_process_group": "verified",\n "temporary_root": "removed"\n },\n "event_journal": [],\n "exit": {\n "code": 0,\n "reason": "exited",\n "signal": null\n },\n "files_after": [],\n "files_before": [],\n "filesystem_checkpoints": [\n {\n "at_ms": 0,\n "effects": [],\n "files": [],\n "name": "before",\n "truncated": false\n },\n {\n "at_ms": 50,\n "effects": [],\n "files": [],\n "name": "after_settlement",\n "truncated": false\n }\n ],\n "filesystem_effects": [],\n "frames": [],\n "interaction_events": [],\n "limitations": [],\n "manifest": {\n "architecture": "fixture",\n "comparison_contract": {},\n "comparison_contract_sha256": "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a",\n "completed_at": "2026-01-01T00:00:00.001Z",\n "executable_sha256": "0000000000000000000000000000000000000000000000000000000000000000",\n "full_scenario_sha256": "e9fb6dbb12060cb724e2c6360da0d406b8dcb13ed91769105f92efe312491fc7",\n "normalization_sha256": "60a27b2d1ee5aa73bf2e5cb2deaed2e9cc548f961ad2e3772c981828b643cc43",\n "platform": "fixture",\n "provider_version": "3",\n "pty_backend": "node-pty",\n "rea_version": "1.1.0",\n "scenario": {\n "executable_sha256": "0000000000000000000000000000000000000000000000000000000000000000"\n },\n "started_at": "2026-01-01T00:00:00.000Z"\n },\n "normalization": {\n "paths": true,\n "patterns": [],\n "pids": true,\n "ports": true,\n "time_bucket_ms": 10\n },\n "process_samples": [],\n "rendered_frames": [],\n "residual_unknowns": [],\n "settlement": {\n "cleanup_outcome": "not_required",\n "elapsed_ms": 50,\n "state": "quiesced"\n },\n "truncated": false\n },\n "operation": "capture_process_scenario",\n "parameters": {\n "scenario": "reconstruction"\n },\n "predicate_type": "rea.process-capture",\n "provider": {\n "id": "rea-process",\n "name": "REA deterministic process harness",\n "version": "3"\n },\n "raw_result": null,\n "subject": null\n }\n }\n ],\n "properties": {\n "left": {\n "additionalProperties": false,\n "description": "Left-hand input used for comparison or differential execution.",\n "properties": {\n "analysis_profile": {\n "description": "Value for analysis profile.",\n "properties": {\n "digest": {\n "description": "Value for digest.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "description": "Value for version.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "description": "Value for authority.",\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "description": "Value for confidence.",\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "description": "Value for architecture.",\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "description": "Value for isolation.",\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "description": "Value for platform.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for environment."\n },\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "description": "Value for evidence links.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "description": "Value for locations.",\n "items": {\n "oneOf": [\n {\n "properties": {\n "address": {\n "description": "Value for address.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "artifact-path",\n "description": "Value for kind.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "file-offset",\n "description": "Value for kind.",\n "type": "string"\n },\n "offset": {\n "description": "Value for offset.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0",\n "description": "Value for normalized result."\n },\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "description": "Value for predicate type.",\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for version."\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for raw result."\n },\n "subject": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "digest": {\n "description": "Value for digest.",\n "properties": {\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "description": "Declared input artifact format.",\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "description": "Local filesystem path for local.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for subject."\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "max_capture_age_ms": {\n "description": "Maximum permitted capture age ms for this operation.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "right": {\n "additionalProperties": false,\n "description": "Right-hand input used for comparison or differential execution.",\n "properties": {\n "analysis_profile": {\n "description": "Value for analysis profile.",\n "properties": {\n "digest": {\n "description": "Value for digest.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "description": "Value for version.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "description": "Value for authority.",\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "description": "Value for confidence.",\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "description": "Value for architecture.",\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "description": "Value for isolation.",\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "description": "Value for platform.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for environment."\n },\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "description": "Value for evidence links.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "description": "Value for locations.",\n "items": {\n "oneOf": [\n {\n "properties": {\n "address": {\n "description": "Value for address.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "artifact-path",\n "description": "Value for kind.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "file-offset",\n "description": "Value for kind.",\n "type": "string"\n },\n "offset": {\n "description": "Value for offset.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0",\n "description": "Value for normalized result."\n },\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "description": "Value for predicate type.",\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for version."\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for raw result."\n },\n "subject": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "digest": {\n "description": "Value for digest.",\n "properties": {\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "description": "Declared input artifact format.",\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "description": "Local filesystem path for local.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for subject."\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "trace_spec": {\n "additionalProperties": false,\n "description": "Value for trace spec.",\n "properties": {\n "events": {\n "description": "Value for events.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "cardinality": {\n "default": {\n "kind": "required"\n },\n "description": "Value for cardinality.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "required",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "optional",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "count": {\n "description": "Value for count.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "exact",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "count"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "range",\n "description": "Value for kind.",\n "type": "string"\n },\n "max": {\n "description": "Value for max.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "min": {\n "description": "Value for min.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "min",\n "max"\n ],\n "type": "object"\n }\n ]\n },\n "exact": {\n "$ref": "#/$defs/__schema0",\n "description": "Value for exact."\n },\n "id": {\n "description": "Value for id.",\n "pattern": "^[A-Za-z][A-Za-z0-9._-]*$",\n "type": "string"\n },\n "ignore_fields": {\n "description": "Value for ignore fields.",\n "items": {\n "enum": [\n "sequence",\n "at_ms",\n "scheduled_at_ms",\n "dispatched_at_ms",\n "elapsed_ms"\n ],\n "type": "string"\n },\n "type": "array"\n },\n "source": {\n "description": "Value for source.",\n "enum": [\n "terminal_raw",\n "terminal_rendered",\n "interaction",\n "lifecycle",\n "process",\n "filesystem"\n ],\n "type": "string"\n }\n },\n "required": [\n "id",\n "source",\n "exact"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "language": {\n "description": "Value for language.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "happens_before": {\n "default": [],\n "description": "Value for happens before.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "after": {\n "description": "The later or right-hand observation to compare.",\n "pattern": "^[A-Za-z][A-Za-z0-9._-]*$",\n "type": "string"\n },\n "before": {\n "description": "The earlier or left-hand observation to compare.",\n "pattern": "^[A-Za-z][A-Za-z0-9._-]*$",\n "type": "string"\n }\n },\n "required": [\n "before",\n "after"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "kind": {\n "const": "partial_order",\n "description": "Value for kind.",\n "type": "string"\n },\n "not_before": {\n "default": [],\n "description": "Value for not before.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "anchor": {\n "description": "Value for anchor.",\n "pattern": "^[A-Za-z][A-Za-z0-9._-]*$",\n "type": "string"\n },\n "event": {\n "description": "Value for event.",\n "pattern": "^[A-Za-z][A-Za-z0-9._-]*$",\n "type": "string"\n }\n },\n "required": [\n "event",\n "anchor"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "prefix": {\n "default": [],\n "description": "Value for prefix.",\n "items": {\n "pattern": "^[A-Za-z][A-Za-z0-9._-]*$",\n "type": "string"\n },\n "type": "array"\n },\n "suffix": {\n "default": [],\n "description": "Value for suffix.",\n "items": {\n "pattern": "^[A-Za-z][A-Za-z0-9._-]*$",\n "type": "string"\n },\n "type": "array"\n },\n "unordered_groups": {\n "default": [],\n "description": "Value for unordered groups.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "events": {\n "description": "Value for events.",\n "items": {\n "pattern": "^[A-Za-z][A-Za-z0-9._-]*$",\n "type": "string"\n },\n "minItems": 2,\n "type": "array"\n }\n },\n "required": [\n "events"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "kind"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "finite_traces",\n "description": "Value for kind.",\n "type": "string"\n },\n "variants": {\n "description": "Value for variants.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "description": "Value for id.",\n "pattern": "^[A-Za-z][A-Za-z0-9._-]*$",\n "type": "string"\n },\n "trace": {\n "description": "Value for trace.",\n "items": {\n "anyOf": [\n {\n "pattern": "^[A-Za-z][A-Za-z0-9._-]*$",\n "type": "string"\n },\n {\n "additionalProperties": false,\n "properties": {\n "unordered": {\n "description": "Value for unordered.",\n "items": {\n "pattern": "^[A-Za-z][A-Za-z0-9._-]*$",\n "type": "string"\n },\n "minItems": 2,\n "type": "array"\n }\n },\n "required": [\n "unordered"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n }\n },\n "required": [\n "id",\n "trace"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "kind",\n "variants"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "events",\n "language"\n ],\n "type": "object"\n }\n },\n "required": [\n "left",\n "right"\n ],\n "type": "object"\n },\n "kind": "session",\n "name": "compare_process_captures",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "exit": {\n "enum": [\n "unchanged",\n "added",\n "removed",\n "changed",\n "truncated",\n "unknown",\n "contradiction"\n ],\n "type": "string"\n },\n "filesystem": {\n "enum": [\n "unchanged",\n "added",\n "removed",\n "changed",\n "truncated",\n "unknown",\n "contradiction"\n ],\n "type": "string"\n },\n "first_divergence": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "status": {\n "const": "none",\n "type": "string"\n }\n },\n "required": [\n "status"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "type": "string"\n },\n "status": {\n "const": "unknown",\n "type": "string"\n }\n },\n "required": [\n "status",\n "reason"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "dimension": {\n "enum": [\n "terminal",\n "interaction",\n "exit",\n "filesystem",\n "process"\n ],\n "type": "string"\n },\n "index": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "left": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "left_at_ms": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "right": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "right_at_ms": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "status": {\n "const": "found",\n "type": "string"\n }\n },\n "required": [\n "status",\n "dimension",\n "index",\n "left_at_ms",\n "right_at_ms",\n "left",\n "right"\n ],\n "type": "object"\n }\n ]\n },\n "interaction": {\n "enum": [\n "unchanged",\n "added",\n "removed",\n "changed",\n "truncated",\n "unknown",\n "contradiction"\n ],\n "type": "string"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "process": {\n "enum": [\n "unchanged",\n "added",\n "removed",\n "changed",\n "truncated",\n "unknown",\n "contradiction"\n ],\n "type": "string"\n },\n "status": {\n "enum": [\n "unchanged",\n "added",\n "removed",\n "changed",\n "truncated",\n "unknown",\n "contradiction"\n ],\n "type": "string"\n },\n "terminal": {\n "enum": [\n "unchanged",\n "added",\n "removed",\n "changed",\n "truncated",\n "unknown",\n "contradiction"\n ],\n "type": "string"\n },\n "trace": {\n "additionalProperties": false,\n "properties": {\n "diagnostic": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "event_ids": {\n "items": {\n "pattern": "^[A-Za-z][A-Za-z0-9._-]{0,63}$",\n "type": "string"\n },\n "type": "array"\n },\n "kind": {\n "enum": [\n "journal",\n "predicate",\n "cardinality",\n "edge",\n "prefix",\n "suffix",\n "trace"\n ],\n "type": "string"\n },\n "locations": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "capture_order": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "collection": {\n "enum": [\n "frames",\n "rendered_frames",\n "interaction_events",\n "lifecycle",\n "process_samples",\n "filesystem_checkpoints"\n ],\n "type": "string"\n },\n "index": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "collection",\n "index",\n "capture_order"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "message": {\n "type": "string"\n },\n "side": {\n "enum": [\n "left",\n "right"\n ],\n "type": "string"\n }\n },\n "required": [\n "kind",\n "side",\n "message",\n "event_ids",\n "locations"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "left": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "matched_variant": {\n "anyOf": [\n {\n "pattern": "^[A-Za-z][A-Za-z0-9._-]{0,63}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "raw_trace": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "event_id": {\n "pattern": "^[A-Za-z][A-Za-z0-9._-]{0,63}$",\n "type": "string"\n },\n "location": {\n "additionalProperties": false,\n "properties": {\n "capture_order": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "collection": {\n "enum": [\n "frames",\n "rendered_frames",\n "interaction_events",\n "lifecycle",\n "process_samples",\n "filesystem_checkpoints"\n ],\n "type": "string"\n },\n "index": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "collection",\n "index",\n "capture_order"\n ],\n "type": "object"\n }\n },\n "required": [\n "event_id",\n "location"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "satisfied_constraints": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "status": {\n "const": "pass",\n "type": "string"\n }\n },\n "required": [\n "satisfied_constraints",\n "raw_trace",\n "status",\n "matched_variant"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "matched_variant": {\n "type": "null"\n },\n "raw_trace": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "event_id": {\n "pattern": "^[A-Za-z][A-Za-z0-9._-]{0,63}$",\n "type": "string"\n },\n "location": {\n "additionalProperties": false,\n "properties": {\n "capture_order": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "collection": {\n "enum": [\n "frames",\n "rendered_frames",\n "interaction_events",\n "lifecycle",\n "process_samples",\n "filesystem_checkpoints"\n ],\n "type": "string"\n },\n "index": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "collection",\n "index",\n "capture_order"\n ],\n "type": "object"\n }\n },\n "required": [\n "event_id",\n "location"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "satisfied_constraints": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "status": {\n "enum": [\n "fail",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "satisfied_constraints",\n "raw_trace",\n "status",\n "matched_variant"\n ],\n "type": "object"\n }\n ]\n },\n "right": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "matched_variant": {\n "anyOf": [\n {\n "pattern": "^[A-Za-z][A-Za-z0-9._-]{0,63}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "raw_trace": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "event_id": {\n "pattern": "^[A-Za-z][A-Za-z0-9._-]{0,63}$",\n "type": "string"\n },\n "location": {\n "additionalProperties": false,\n "properties": {\n "capture_order": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "collection": {\n "enum": [\n "frames",\n "rendered_frames",\n "interaction_events",\n "lifecycle",\n "process_samples",\n "filesystem_checkpoints"\n ],\n "type": "string"\n },\n "index": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "collection",\n "index",\n "capture_order"\n ],\n "type": "object"\n }\n },\n "required": [\n "event_id",\n "location"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "satisfied_constraints": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "status": {\n "const": "pass",\n "type": "string"\n }\n },\n "required": [\n "satisfied_constraints",\n "raw_trace",\n "status",\n "matched_variant"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "matched_variant": {\n "type": "null"\n },\n "raw_trace": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "event_id": {\n "pattern": "^[A-Za-z][A-Za-z0-9._-]{0,63}$",\n "type": "string"\n },\n "location": {\n "additionalProperties": false,\n "properties": {\n "capture_order": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "collection": {\n "enum": [\n "frames",\n "rendered_frames",\n "interaction_events",\n "lifecycle",\n "process_samples",\n "filesystem_checkpoints"\n ],\n "type": "string"\n },\n "index": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "collection",\n "index",\n "capture_order"\n ],\n "type": "object"\n }\n },\n "required": [\n "event_id",\n "location"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "satisfied_constraints": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "status": {\n "enum": [\n "fail",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "satisfied_constraints",\n "raw_trace",\n "status",\n "matched_variant"\n ],\n "type": "object"\n }\n ]\n },\n "verdict": {\n "enum": [\n "equivalent",\n "different",\n "nonconforming",\n "unknown"\n ],\n "type": "string"\n }\n },\n "required": [\n "verdict",\n "left",\n "right",\n "diagnostic"\n ],\n "type": "object"\n }\n },\n "required": [\n "status",\n "terminal",\n "interaction",\n "exit",\n "filesystem",\n "process",\n "first_divergence",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": true,\n "title": "Compare Process Captures"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Compare complete artifact inventories by logical occurrence path, content identity, metadata, and graph relations. Pass the inventory Evidence nested in each inspect_artifact result as left and right. Every delta cites both inputs, and gaps yield truncated or unknown, never equivalence. Returns every change inline.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "left": {\n "authority": "shipped-artifact",\n "confidence": "observed",\n "environment": null,\n "evidence_id": "ev_196e5dd37264f7b088ab8c0be326d22cac37e798bc89c72bcabc2ef9d74eed55",\n "evidence_links": [],\n "limitations": [],\n "locations": [],\n "normalized_result": {\n "edges": [],\n "limitations": [],\n "manifest": {\n "edge_count": 0,\n "graph_sha256": "8fa9468fe1a1a23c968cc1215eac19cce2510530cb8cbdd99b0b93bcd251c586",\n "manifest_id": "agm_aada25a1123169497307a2f381969ca213532b63d2259e999bffe2aa50fe5227",\n "node_count": 1,\n "occurrence_count": 1,\n "root_artifact_id": "art_2827b82d5d864b615b237ca45cf8a10fc5c14a1b73ba5bb8b358dddefc8e9f8c",\n "root_format": "file",\n "root_sha256": "0000000000000000000000000000000000000000000000000000000000000000"\n },\n "nodes": [\n {\n "architecture": null,\n "artifact_id": "art_2827b82d5d864b615b237ca45cf8a10fc5c14a1b73ba5bb8b358dddefc8e9f8c",\n "content_state": "materialized",\n "executable": false,\n "format": "file",\n "kind": "resource",\n "limitations": [],\n "media_type": null,\n "sha256": "0000000000000000000000000000000000000000000000000000000000000000",\n "size": 1\n }\n ],\n "occurrences": [\n {\n "artifact_id": "art_2827b82d5d864b615b237ca45cf8a10fc5c14a1b73ba5bb8b358dddefc8e9f8c",\n "compressed_size": null,\n "declared_size": 1,\n "encrypted": false,\n "entry_kind": "file",\n "executable": false,\n "hash_status": "verified",\n "limitations": [],\n "logical_path": ".",\n "occurrence_id": "occ_273bef4da5057c50b27edf034ffce68d5d9c0c5795778fc3ff41e4e6b3ef5586",\n "parent_occurrence_id": null,\n "source_location": null\n }\n ],\n "provenance": []\n },\n "operation": "inventory_artifact",\n "parameters": {},\n "predicate_type": "rea.analysis",\n "provider": {\n "id": "rea-artifact",\n "name": "REA artifact graph",\n "version": "1"\n },\n "raw_result": null,\n "subject": {\n "architecture": null,\n "digest": {\n "sha256": "0000000000000000000000000000000000000000000000000000000000000000"\n },\n "format": "file",\n "local_path": "fixture-left",\n "name": "fixture-left"\n }\n },\n "right": {\n "authority": "shipped-artifact",\n "confidence": "observed",\n "environment": null,\n "evidence_id": "ev_8c9ecce090f574469d379fb8bb173e65eff08071fa599b37547ed32dcd102a09",\n "evidence_links": [],\n "limitations": [],\n "locations": [],\n "normalized_result": {\n "edges": [],\n "limitations": [],\n "manifest": {\n "edge_count": 0,\n "graph_sha256": "6e02ceaea80d013e00e4c0c30621df60312f00e03dc338ec47f548671f6a7ec4",\n "manifest_id": "agm_6fa9493e8b0d8164b3ca317323aeffc6be1f81e1e7a3cf4e668310093ba8ef73",\n "node_count": 1,\n "occurrence_count": 1,\n "root_artifact_id": "art_96f554e44817506903722ba66b6b001897989fe181ef986478bc023e1fedf4b1",\n "root_format": "file",\n "root_sha256": "1111111111111111111111111111111111111111111111111111111111111111"\n },\n "nodes": [\n {\n "architecture": null,\n "artifact_id": "art_96f554e44817506903722ba66b6b001897989fe181ef986478bc023e1fedf4b1",\n "content_state": "materialized",\n "executable": false,\n "format": "file",\n "kind": "resource",\n "limitations": [],\n "media_type": null,\n "sha256": "1111111111111111111111111111111111111111111111111111111111111111",\n "size": 1\n }\n ],\n "occurrences": [\n {\n "artifact_id": "art_96f554e44817506903722ba66b6b001897989fe181ef986478bc023e1fedf4b1",\n "compressed_size": null,\n "declared_size": 1,\n "encrypted": false,\n "entry_kind": "file",\n "executable": false,\n "hash_status": "verified",\n "limitations": [],\n "logical_path": ".",\n "occurrence_id": "occ_4257a159555da426a3dd9e420ba59795ef3d87d0b1fd93e5cc7d969539519364",\n "parent_occurrence_id": null,\n "source_location": null\n }\n ],\n "provenance": []\n },\n "operation": "inventory_artifact",\n "parameters": {},\n "predicate_type": "rea.analysis",\n "provider": {\n "id": "rea-artifact",\n "name": "REA artifact graph",\n "version": "1"\n },\n "raw_result": null,\n "subject": {\n "architecture": null,\n "digest": {\n "sha256": "1111111111111111111111111111111111111111111111111111111111111111"\n },\n "format": "file",\n "local_path": "fixture-right",\n "name": "fixture-right"\n }\n }\n }\n ],\n "properties": {\n "left": {\n "additionalProperties": false,\n "description": "Left-hand input used for comparison or differential execution.",\n "properties": {\n "analysis_profile": {\n "description": "Value for analysis profile.",\n "properties": {\n "digest": {\n "description": "Value for digest.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "description": "Value for version.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "description": "Value for authority.",\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "description": "Value for confidence.",\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "description": "Value for architecture.",\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "description": "Value for isolation.",\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "description": "Value for platform.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for environment."\n },\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "description": "Value for evidence links.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "description": "Value for locations.",\n "items": {\n "oneOf": [\n {\n "properties": {\n "address": {\n "description": "Value for address.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "artifact-path",\n "description": "Value for kind.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "file-offset",\n "description": "Value for kind.",\n "type": "string"\n },\n "offset": {\n "description": "Value for offset.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0",\n "description": "Value for normalized result."\n },\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "description": "Value for predicate type.",\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for version."\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for raw result."\n },\n "subject": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "digest": {\n "description": "Value for digest.",\n "properties": {\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "description": "Declared input artifact format.",\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "description": "Local filesystem path for local.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for subject."\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "right": {\n "additionalProperties": false,\n "description": "Right-hand input used for comparison or differential execution.",\n "properties": {\n "analysis_profile": {\n "description": "Value for analysis profile.",\n "properties": {\n "digest": {\n "description": "Value for digest.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "description": "Value for version.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "description": "Value for authority.",\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "description": "Value for confidence.",\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "description": "Value for architecture.",\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "description": "Value for isolation.",\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "description": "Value for platform.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for environment."\n },\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "description": "Value for evidence links.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "description": "Value for locations.",\n "items": {\n "oneOf": [\n {\n "properties": {\n "address": {\n "description": "Value for address.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "artifact-path",\n "description": "Value for kind.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "file-offset",\n "description": "Value for kind.",\n "type": "string"\n },\n "offset": {\n "description": "Value for offset.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0",\n "description": "Value for normalized result."\n },\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "description": "Value for predicate type.",\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for version."\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for raw result."\n },\n "subject": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "digest": {\n "description": "Value for digest.",\n "properties": {\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "description": "Declared input artifact format.",\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "description": "Local filesystem path for local.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for subject."\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n }\n },\n "required": [\n "left",\n "right"\n ],\n "type": "object"\n },\n "kind": "session",\n "name": "compare_artifacts",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "changes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "classification": {\n "enum": [\n "added",\n "removed",\n "changed",\n "unknown",\n "contradiction"\n ],\n "type": "string"\n },\n "dimensions": {\n "items": {\n "enum": [\n "content",\n "kind",\n "format",\n "size",\n "executable",\n "relations",\n "metadata",\n "availability",\n "integrity"\n ],\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 2,\n "type": "array"\n },\n "left_artifact_id": {\n "anyOf": [\n {\n "pattern": "^art_[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "left_occurrence_id": {\n "anyOf": [\n {\n "pattern": "^occ_[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "logical_path": {\n "minLength": 1,\n "type": "string"\n },\n "right_artifact_id": {\n "anyOf": [\n {\n "pattern": "^art_[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "right_occurrence_id": {\n "anyOf": [\n {\n "pattern": "^occ_[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "classification",\n "logical_path",\n "dimensions",\n "left_occurrence_id",\n "right_occurrence_id",\n "left_artifact_id",\n "right_artifact_id",\n "evidence_links"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "left_manifest_id": {\n "pattern": "^agm_[a-f0-9]{64}$",\n "type": "string"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "right_manifest_id": {\n "pattern": "^agm_[a-f0-9]{64}$",\n "type": "string"\n },\n "status": {\n "enum": [\n "unchanged",\n "added",\n "removed",\n "changed",\n "truncated",\n "unknown",\n "contradiction"\n ],\n "type": "string"\n },\n "summary": {\n "additionalProperties": false,\n "properties": {\n "added": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "changed": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "contradiction": {\n "default": 0,\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "removed": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "unchanged": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "unknown": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "unchanged",\n "added",\n "removed",\n "changed",\n "unknown",\n "contradiction"\n ],\n "type": "object"\n }\n },\n "required": [\n "status",\n "left_manifest_id",\n "right_manifest_id",\n "summary",\n "changes",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": true,\n "title": "Compare Artifacts"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Compare two explicit sets of analyze_function Evidence 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.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "left": {\n "authority": "shipped-artifact",\n "confidence": "derived",\n "environment": null,\n "evidence_id": "ev_fd7f0f3851d21e5284b47129d9c7142e2ebeb6ed1c5f91bcff18a781d0b24cb7",\n "evidence_links": [],\n "limitations": [],\n "locations": [],\n "normalized_result": {\n "assembly": [],\n "basic_blocks": [\n {\n "end": "0x1001",\n "start": "0x1000",\n "successors": []\n }\n ],\n "callees": [],\n "callers": [],\n "comments": [],\n "incoming_references": [],\n "outgoing_references": [],\n "procedure": {\n "address": "0x1000",\n "locals": [],\n "name": "main",\n "signature": "int main(void)"\n },\n "pseudocode": "return 0;",\n "referenced_names": [],\n "referenced_strings": []\n },\n "operation": "analyze_function",\n "parameters": {\n "procedure": "main"\n },\n "predicate_type": "rea.analysis",\n "provider": {\n "id": "rea-workflow",\n "name": "REA composed investigation workflow",\n "version": "1"\n },\n "raw_result": null,\n "subject": {\n "architecture": null,\n "digest": {\n "sha256": "0000000000000000000000000000000000000000000000000000000000000000"\n },\n "format": "mach-o",\n "local_path": "/tmp/function-0",\n "name": "function-0"\n }\n },\n "right": {\n "authority": "shipped-artifact",\n "confidence": "derived",\n "environment": null,\n "evidence_id": "ev_79f87eddd8df1d59c6f2e2cd99f21bfae2e5a22fd26c5bf0d0b9ccf9e24b0522",\n "evidence_links": [],\n "limitations": [],\n "locations": [],\n "normalized_result": {\n "assembly": [],\n "basic_blocks": [\n {\n "end": "0x1001",\n "start": "0x1000",\n "successors": []\n }\n ],\n "callees": [],\n "callers": [],\n "comments": [],\n "incoming_references": [],\n "outgoing_references": [],\n "procedure": {\n "address": "0x1000",\n "locals": [],\n "name": "main",\n "signature": "int main(void)"\n },\n "pseudocode": "return 1;",\n "referenced_names": [],\n "referenced_strings": []\n },\n "operation": "analyze_function",\n "parameters": {\n "procedure": "main"\n },\n "predicate_type": "rea.analysis",\n "provider": {\n "id": "rea-workflow",\n "name": "REA composed investigation workflow",\n "version": "1"\n },\n "raw_result": null,\n "subject": {\n "architecture": null,\n "digest": {\n "sha256": "1111111111111111111111111111111111111111111111111111111111111111"\n },\n "format": "mach-o",\n "local_path": "/tmp/function-1",\n "name": "function-1"\n }\n }\n }\n ],\n "properties": {\n "left": {\n "additionalProperties": false,\n "description": "Left-hand input used for comparison or differential execution.",\n "properties": {\n "analysis_profile": {\n "description": "Value for analysis profile.",\n "properties": {\n "digest": {\n "description": "Value for digest.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "description": "Value for version.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "description": "Value for authority.",\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "description": "Value for confidence.",\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "description": "Value for architecture.",\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "description": "Value for isolation.",\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "description": "Value for platform.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for environment."\n },\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "description": "Value for evidence links.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "description": "Value for locations.",\n "items": {\n "oneOf": [\n {\n "properties": {\n "address": {\n "description": "Value for address.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "artifact-path",\n "description": "Value for kind.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "file-offset",\n "description": "Value for kind.",\n "type": "string"\n },\n "offset": {\n "description": "Value for offset.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0",\n "description": "Value for normalized result."\n },\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "description": "Value for predicate type.",\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for version."\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for raw result."\n },\n "subject": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "digest": {\n "description": "Value for digest.",\n "properties": {\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "description": "Declared input artifact format.",\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "description": "Local filesystem path for local.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for subject."\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "right": {\n "additionalProperties": false,\n "description": "Right-hand input used for comparison or differential execution.",\n "properties": {\n "analysis_profile": {\n "description": "Value for analysis profile.",\n "properties": {\n "digest": {\n "description": "Value for digest.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "description": "Value for version.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "description": "Value for authority.",\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "description": "Value for confidence.",\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "description": "Value for architecture.",\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "description": "Value for isolation.",\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "description": "Value for platform.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for environment."\n },\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "description": "Value for evidence links.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "description": "Value for locations.",\n "items": {\n "oneOf": [\n {\n "properties": {\n "address": {\n "description": "Value for address.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "artifact-path",\n "description": "Value for kind.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "file-offset",\n "description": "Value for kind.",\n "type": "string"\n },\n "offset": {\n "description": "Value for offset.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0",\n "description": "Value for normalized result."\n },\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "description": "Value for predicate type.",\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for version."\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for raw result."\n },\n "subject": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "digest": {\n "description": "Value for digest.",\n "properties": {\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "description": "Declared input artifact format.",\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "description": "Local filesystem path for local.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for subject."\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n }\n },\n "required": [\n "left",\n "right"\n ],\n "type": "object"\n },\n "kind": "session",\n "name": "compare_functions",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "changes": {\n "items": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "conclusion_kind": {\n "const": "derived_relationship",\n "type": "string"\n },\n "dimension": {\n "enum": [\n "identity",\n "pseudocode",\n "assembly",\n "comments",\n "calls",\n "references",\n "strings_names",\n "cfg"\n ],\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 2,\n "type": "array"\n },\n "left_count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "left_digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "right_count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "right_digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "status": {\n "const": "unchanged",\n "type": "string"\n },\n "text_delta": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "added_lines": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "hunks": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "removed_lines": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "added_lines",\n "removed_lines",\n "hunks"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "dimension",\n "left_count",\n "right_count",\n "evidence_links",\n "limitations",\n "status",\n "left_digest",\n "right_digest",\n "text_delta",\n "conclusion_kind"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "conclusion_kind": {\n "enum": [\n "derived_relationship",\n "contradiction"\n ],\n "type": "string"\n },\n "dimension": {\n "enum": [\n "identity",\n "pseudocode",\n "assembly",\n "comments",\n "calls",\n "references",\n "strings_names",\n "cfg"\n ],\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 2,\n "type": "array"\n },\n "left_count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "left_digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "right_count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "right_digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "status": {\n "const": "changed",\n "type": "string"\n },\n "text_delta": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "added_lines": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "hunks": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "removed_lines": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "added_lines",\n "removed_lines",\n "hunks"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "dimension",\n "left_count",\n "right_count",\n "evidence_links",\n "limitations",\n "status",\n "left_digest",\n "right_digest",\n "text_delta",\n "conclusion_kind"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "conclusion_kind": {\n "const": "unresolved_branch",\n "type": "string"\n },\n "dimension": {\n "enum": [\n "identity",\n "pseudocode",\n "assembly",\n "comments",\n "calls",\n "references",\n "strings_names",\n "cfg"\n ],\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 2,\n "type": "array"\n },\n "left_count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "left_digest": {\n "type": "null"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "right_count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "right_digest": {\n "type": "null"\n },\n "status": {\n "enum": [\n "truncated",\n "unknown"\n ],\n "type": "string"\n },\n "text_delta": {\n "type": "null"\n }\n },\n "required": [\n "dimension",\n "left_count",\n "right_count",\n "evidence_links",\n "limitations",\n "status",\n "left_digest",\n "right_digest",\n "text_delta",\n "conclusion_kind"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "dimensions": {\n "items": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "conclusion_kind": {\n "const": "derived_relationship",\n "type": "string"\n },\n "dimension": {\n "enum": [\n "identity",\n "pseudocode",\n "assembly",\n "comments",\n "calls",\n "references",\n "strings_names",\n "cfg"\n ],\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 2,\n "type": "array"\n },\n "left_count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "left_digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "right_count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "right_digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "status": {\n "const": "unchanged",\n "type": "string"\n },\n "text_delta": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "added_lines": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "hunks": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "removed_lines": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "added_lines",\n "removed_lines",\n "hunks"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "dimension",\n "left_count",\n "right_count",\n "evidence_links",\n "limitations",\n "status",\n "left_digest",\n "right_digest",\n "text_delta",\n "conclusion_kind"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "conclusion_kind": {\n "enum": [\n "derived_relationship",\n "contradiction"\n ],\n "type": "string"\n },\n "dimension": {\n "enum": [\n "identity",\n "pseudocode",\n "assembly",\n "comments",\n "calls",\n "references",\n "strings_names",\n "cfg"\n ],\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 2,\n "type": "array"\n },\n "left_count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "left_digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "right_count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "right_digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "status": {\n "const": "changed",\n "type": "string"\n },\n "text_delta": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "added_lines": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "hunks": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "removed_lines": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "added_lines",\n "removed_lines",\n "hunks"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "dimension",\n "left_count",\n "right_count",\n "evidence_links",\n "limitations",\n "status",\n "left_digest",\n "right_digest",\n "text_delta",\n "conclusion_kind"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "conclusion_kind": {\n "const": "unresolved_branch",\n "type": "string"\n },\n "dimension": {\n "enum": [\n "identity",\n "pseudocode",\n "assembly",\n "comments",\n "calls",\n "references",\n "strings_names",\n "cfg"\n ],\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 2,\n "type": "array"\n },\n "left_count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "left_digest": {\n "type": "null"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "right_count": {\n "anyOf": [\n {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ]\n },\n "right_digest": {\n "type": "null"\n },\n "status": {\n "enum": [\n "truncated",\n "unknown"\n ],\n "type": "string"\n },\n "text_delta": {\n "type": "null"\n }\n },\n "required": [\n "dimension",\n "left_count",\n "right_count",\n "evidence_links",\n "limitations",\n "status",\n "left_digest",\n "right_digest",\n "text_delta",\n "conclusion_kind"\n ],\n "type": "object"\n }\n ]\n },\n "maxItems": 8,\n "minItems": 8,\n "type": "array"\n },\n "function_match": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "left_name": {\n "type": "string"\n },\n "method": {\n "const": "symbol",\n "type": "string"\n },\n "right_name": {\n "type": "string"\n },\n "status": {\n "const": "matched",\n "type": "string"\n }\n },\n "required": [\n "status",\n "method",\n "left_name",\n "right_name"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "left_name": {\n "type": "string"\n },\n "method": {\n "const": "explicit",\n "type": "string"\n },\n "right_name": {\n "type": "string"\n },\n "status": {\n "enum": [\n "mismatched",\n "ambiguous"\n ],\n "type": "string"\n }\n },\n "required": [\n "status",\n "method",\n "left_name",\n "right_name"\n ],\n "type": "object"\n }\n ]\n },\n "left_subject_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "right_subject_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "status": {\n "enum": [\n "unchanged",\n "changed",\n "truncated",\n "unknown"\n ],\n "type": "string"\n },\n "summary": {\n "additionalProperties": false,\n "properties": {\n "changed": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "truncated": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "unchanged": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "unknown": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "unchanged",\n "changed",\n "truncated",\n "unknown"\n ],\n "type": "object"\n }\n },\n "required": [\n "status",\n "function_match",\n "left_subject_sha256",\n "right_subject_sha256",\n "summary",\n "dimensions",\n "changes",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": true,\n "title": "Compare Functions"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Compare two canonical Evidence 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 returns every change inline.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "left_bundle_path": "/tmp/left-evidence.json",\n "record_pairs": [],\n "right_bundle_path": "/tmp/right-evidence.json"\n }\n ],\n "properties": {\n "left_bundle_path": {\n "description": "Local filesystem path for left bundle.",\n "minLength": 1,\n "type": "string"\n },\n "record_pairs": {\n "default": [],\n "description": "Value for record pairs.",\n "items": {\n "properties": {\n "left_evidence_id": {\n "description": "Exact Evidence identifier for the left observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "right_evidence_id": {\n "description": "Exact Evidence identifier for the right observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "left_evidence_id",\n "right_evidence_id"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "right_bundle_path": {\n "description": "Local filesystem path for right bundle.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "left_bundle_path",\n "right_bundle_path"\n ],\n "type": "object"\n },\n "kind": "session",\n "name": "compare_bundles",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "changes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "classification": {\n "enum": [\n "added",\n "removed",\n "changed",\n "unknown",\n "history_advanced",\n "history_diverged"\n ],\n "type": "string"\n },\n "conclusion_kind": {\n "enum": [\n "observed_change",\n "contradiction",\n "unresolved_branch"\n ],\n "type": "string"\n },\n "entity": {\n "enum": [\n "evidence",\n "residual_unknown"\n ],\n "type": "string"\n },\n "key": {\n "minLength": 1,\n "type": "string"\n },\n "left_digest": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "left_evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "right_digest": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "right_evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n }\n },\n "required": [\n "entity",\n "key",\n "classification",\n "conclusion_kind",\n "left_evidence_ids",\n "right_evidence_ids",\n "left_digest",\n "right_digest",\n "limitations"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "left_bundle_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "right_bundle_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "status": {\n "enum": [\n "unchanged",\n "changed",\n "unknown"\n ],\n "type": "string"\n },\n "summary": {\n "additionalProperties": false,\n "properties": {\n "records_added": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "records_changed": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "records_removed": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "records_unchanged": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "unknowns_added": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "unknowns_advanced": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "unknowns_diverged": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "unknowns_removed": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "unknowns_unchanged": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "unresolved": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "records_unchanged",\n "records_added",\n "records_removed",\n "records_changed",\n "unknowns_unchanged",\n "unknowns_added",\n "unknowns_removed",\n "unknowns_advanced",\n "unknowns_diverged",\n "unresolved"\n ],\n "type": "object"\n }\n },\n "required": [\n "status",\n "left_bundle_sha256",\n "right_bundle_sha256",\n "summary",\n "changes",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": true,\n "title": "Compare Bundles"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Aggregate validated process and artifact comparison Evidence. Runtime observations remain distinct from static behavior candidates; missing or incomplete comparisons produce unresolved findings, never causal claims. Returns every finding inline.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {\n "comparisons": [\n {\n "authority": "analyst-inference",\n "confidence": "derived",\n "environment": null,\n "evidence_id": "ev_cc8049f629a9318e985bee4a547c0ec6646e9d3c2cbbabf4ac9b3758bc3ede86",\n "evidence_links": [\n "ev_fd7f0f3851d21e5284b47129d9c7142e2ebeb6ed1c5f91bcff18a781d0b24cb7",\n "ev_79f87eddd8df1d59c6f2e2cd99f21bfae2e5a22fd26c5bf0d0b9ccf9e24b0522"\n ],\n "limitations": [\n "Artifact identity is unavailable for this observation."\n ],\n "locations": [],\n "normalized_result": {\n "changes": [\n {\n "conclusion_kind": "derived_relationship",\n "dimension": "pseudocode",\n "evidence_links": [\n "ev_fd7f0f3851d21e5284b47129d9c7142e2ebeb6ed1c5f91bcff18a781d0b24cb7",\n "ev_79f87eddd8df1d59c6f2e2cd99f21bfae2e5a22fd26c5bf0d0b9ccf9e24b0522"\n ],\n "left_count": 9,\n "left_digest": "64abdfe133a114158fa0e185d0edec784e6ccf13a166a0fed8bc18bb0cc72554",\n "limitations": [],\n "right_count": 9,\n "right_digest": "c8e26d77640903b2d4c765ebcb7f7170b64dd320dd3911abbe8346e07cd593d1",\n "status": "changed",\n "text_delta": {\n "added_lines": 1,\n "hunks": 2,\n "removed_lines": 1\n }\n }\n ],\n "dimensions": [\n {\n "conclusion_kind": "derived_relationship",\n "dimension": "identity",\n "evidence_links": [\n "ev_fd7f0f3851d21e5284b47129d9c7142e2ebeb6ed1c5f91bcff18a781d0b24cb7",\n "ev_79f87eddd8df1d59c6f2e2cd99f21bfae2e5a22fd26c5bf0d0b9ccf9e24b0522"\n ],\n "left_count": null,\n "left_digest": "dd190a914de1bdf8f4bba97a2e74b439585874c567f28eb0ff41bc5388c66d65",\n "limitations": [],\n "right_count": null,\n "right_digest": "dd190a914de1bdf8f4bba97a2e74b439585874c567f28eb0ff41bc5388c66d65",\n "status": "unchanged",\n "text_delta": null\n },\n {\n "conclusion_kind": "derived_relationship",\n "dimension": "pseudocode",\n "evidence_links": [\n "ev_fd7f0f3851d21e5284b47129d9c7142e2ebeb6ed1c5f91bcff18a781d0b24cb7",\n "ev_79f87eddd8df1d59c6f2e2cd99f21bfae2e5a22fd26c5bf0d0b9ccf9e24b0522"\n ],\n "left_count": 9,\n "left_digest": "64abdfe133a114158fa0e185d0edec784e6ccf13a166a0fed8bc18bb0cc72554",\n "limitations": [],\n "right_count": 9,\n "right_digest": "c8e26d77640903b2d4c765ebcb7f7170b64dd320dd3911abbe8346e07cd593d1",\n "status": "changed",\n "text_delta": {\n "added_lines": 1,\n "hunks": 2,\n "removed_lines": 1\n }\n },\n {\n "conclusion_kind": "derived_relationship",\n "dimension": "assembly",\n "evidence_links": [\n "ev_fd7f0f3851d21e5284b47129d9c7142e2ebeb6ed1c5f91bcff18a781d0b24cb7",\n "ev_79f87eddd8df1d59c6f2e2cd99f21bfae2e5a22fd26c5bf0d0b9ccf9e24b0522"\n ],\n "left_count": 0,\n "left_digest": "12ae32cb1ec02d01eda3581b127c1fee3b0dc53572ed6baf239721a03d82e126",\n "limitations": [\n "Assembly is opaque provider text; relocation normalization is unavailable."\n ],\n "right_count": 0,\n "right_digest": "12ae32cb1ec02d01eda3581b127c1fee3b0dc53572ed6baf239721a03d82e126",\n "status": "unchanged",\n "text_delta": {\n "added_lines": 0,\n "hunks": 0,\n "removed_lines": 0\n }\n },\n {\n "conclusion_kind": "derived_relationship",\n "dimension": "comments",\n "evidence_links": [\n "ev_fd7f0f3851d21e5284b47129d9c7142e2ebeb6ed1c5f91bcff18a781d0b24cb7",\n "ev_79f87eddd8df1d59c6f2e2cd99f21bfae2e5a22fd26c5bf0d0b9ccf9e24b0522"\n ],\n "left_count": 0,\n "left_digest": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",\n "limitations": [],\n "right_count": 0,\n "right_digest": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",\n "status": "unchanged",\n "text_delta": null\n },\n {\n "conclusion_kind": "derived_relationship",\n "dimension": "calls",\n "evidence_links": [\n "ev_fd7f0f3851d21e5284b47129d9c7142e2ebeb6ed1c5f91bcff18a781d0b24cb7",\n "ev_79f87eddd8df1d59c6f2e2cd99f21bfae2e5a22fd26c5bf0d0b9ccf9e24b0522"\n ],\n "left_count": 0,\n "left_digest": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",\n "limitations": [],\n "right_count": 0,\n "right_digest": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",\n "status": "unchanged",\n "text_delta": null\n },\n {\n "conclusion_kind": "derived_relationship",\n "dimension": "references",\n "evidence_links": [\n "ev_fd7f0f3851d21e5284b47129d9c7142e2ebeb6ed1c5f91bcff18a781d0b24cb7",\n "ev_79f87eddd8df1d59c6f2e2cd99f21bfae2e5a22fd26c5bf0d0b9ccf9e24b0522"\n ],\n "left_count": 0,\n "left_digest": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",\n "limitations": [],\n "right_count": 0,\n "right_digest": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",\n "status": "unchanged",\n "text_delta": null\n },\n {\n "conclusion_kind": "derived_relationship",\n "dimension": "strings_names",\n "evidence_links": [\n "ev_fd7f0f3851d21e5284b47129d9c7142e2ebeb6ed1c5f91bcff18a781d0b24cb7",\n "ev_79f87eddd8df1d59c6f2e2cd99f21bfae2e5a22fd26c5bf0d0b9ccf9e24b0522"\n ],\n "left_count": 0,\n "left_digest": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",\n "limitations": [],\n "right_count": 0,\n "right_digest": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",\n "status": "unchanged",\n "text_delta": null\n },\n {\n "conclusion_kind": "derived_relationship",\n "dimension": "cfg",\n "evidence_links": [\n "ev_fd7f0f3851d21e5284b47129d9c7142e2ebeb6ed1c5f91bcff18a781d0b24cb7",\n "ev_79f87eddd8df1d59c6f2e2cd99f21bfae2e5a22fd26c5bf0d0b9ccf9e24b0522"\n ],\n "left_count": 1,\n "left_digest": "e947121f0d4cb8d2a2468a75a44872a29aa1239e6401712df80cfa36bf7df7a0",\n "limitations": [],\n "right_count": 1,\n "right_digest": "e947121f0d4cb8d2a2468a75a44872a29aa1239e6401712df80cfa36bf7df7a0",\n "status": "unchanged",\n "text_delta": null\n }\n ],\n "function_match": {\n "left_name": "main",\n "method": "symbol",\n "right_name": "main",\n "status": "matched"\n },\n "left_subject_sha256": "0000000000000000000000000000000000000000000000000000000000000000",\n "limitations": [],\n "right_subject_sha256": "1111111111111111111111111111111111111111111111111111111111111111",\n "status": "changed",\n "summary": {\n "changed": 1,\n "truncated": 0,\n "unchanged": 7,\n "unknown": 0\n }\n },\n "operation": "compare_functions",\n "parameters": {\n "left_evidence_id": "ev_fd7f0f3851d21e5284b47129d9c7142e2ebeb6ed1c5f91bcff18a781d0b24cb7",\n "right_evidence_id": "ev_79f87eddd8df1d59c6f2e2cd99f21bfae2e5a22fd26c5bf0d0b9ccf9e24b0522"\n },\n "predicate_type": "rea.function-comparison",\n "provider": {\n "id": "rea-function-comparison",\n "name": "REA function comparison",\n "version": "1"\n },\n "raw_result": null,\n "subject": null\n }\n ]\n }\n ],\n "properties": {\n "comparisons": {\n "default": [],\n "description": "Validated comparison Evidence records to aggregate.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "description": "Value for analysis profile.",\n "properties": {\n "digest": {\n "description": "Value for digest.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "description": "Value for version.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "description": "Value for authority.",\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "description": "Value for confidence.",\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "description": "Value for architecture.",\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "description": "Value for isolation.",\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "description": "Value for platform.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for environment."\n },\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "description": "Value for evidence links.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "description": "Value for locations.",\n "items": {\n "oneOf": [\n {\n "properties": {\n "address": {\n "description": "Value for address.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "artifact-path",\n "description": "Value for kind.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "file-offset",\n "description": "Value for kind.",\n "type": "string"\n },\n "offset": {\n "description": "Value for offset.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0",\n "description": "Value for normalized result."\n },\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "description": "Value for predicate type.",\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for version."\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for raw result."\n },\n "subject": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "digest": {\n "description": "Value for digest.",\n "properties": {\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "description": "Declared input artifact format.",\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "description": "Local filesystem path for local.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for subject."\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "type": "object"\n },\n "kind": "session",\n "name": "find_changed_behavior",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "behavior_status": {\n "enum": [\n "observed_changed",\n "observed_unchanged",\n "unknown",\n "truncated"\n ],\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 3,\n "type": "array"\n },\n "findings": {\n "additionalProperties": false,\n "properties": {\n "items": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "classification": {\n "enum": [\n "observed_change",\n "derived_relationship",\n "contradiction",\n "unresolved_branch"\n ],\n "type": "string"\n },\n "dimension": {\n "minLength": 1,\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 3,\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "scope": {\n "enum": [\n "runtime",\n "protocol",\n "resource",\n "static_candidate"\n ],\n "type": "string"\n },\n "source_comparison_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "status": {\n "enum": [\n "unchanged",\n "added",\n "removed",\n "changed",\n "truncated",\n "unknown",\n "contradiction"\n ],\n "type": "string"\n }\n },\n "required": [\n "scope",\n "dimension",\n "classification",\n "status",\n "source_comparison_id",\n "evidence_links",\n "limitations"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "items"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "summary": {\n "additionalProperties": false,\n "properties": {\n "contradictions": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "observed_changes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "static_candidates": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "unresolved": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "observed_changes",\n "static_candidates",\n "contradictions",\n "unresolved"\n ],\n "type": "object"\n }\n },\n "required": [\n "behavior_status",\n "summary",\n "findings",\n "evidence_links",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": true,\n "title": "Find Changed Behavior"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Build every shortest direct-callee path inline from complete analyze_function Evidence records using exact canonical addresses. Missing dossiers and provider mixing remain unknown; every node and edge cites source Evidence.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {\n "functions": [\n {\n "authority": "shipped-artifact",\n "confidence": "derived",\n "environment": null,\n "evidence_id": "ev_fd7f0f3851d21e5284b47129d9c7142e2ebeb6ed1c5f91bcff18a781d0b24cb7",\n "evidence_links": [],\n "limitations": [],\n "locations": [],\n "normalized_result": {\n "assembly": [],\n "basic_blocks": [\n {\n "end": "0x1001",\n "start": "0x1000",\n "successors": []\n }\n ],\n "callees": [],\n "callers": [],\n "comments": [],\n "incoming_references": [],\n "outgoing_references": [],\n "procedure": {\n "address": "0x1000",\n "locals": [],\n "name": "main",\n "signature": "int main(void)"\n },\n "pseudocode": "return 0;",\n "referenced_names": [],\n "referenced_strings": []\n },\n "operation": "analyze_function",\n "parameters": {\n "procedure": "main"\n },\n "predicate_type": "rea.analysis",\n "provider": {\n "id": "rea-workflow",\n "name": "REA composed investigation workflow",\n "version": "1"\n },\n "raw_result": null,\n "subject": {\n "architecture": null,\n "digest": {\n "sha256": "0000000000000000000000000000000000000000000000000000000000000000"\n },\n "format": "mach-o",\n "local_path": "/tmp/function-0",\n "name": "function-0"\n }\n }\n ],\n "goal": {\n "address": "0x1000"\n },\n "start": {\n "address": "0x1000"\n }\n }\n ],\n "properties": {\n "functions": {\n "description": "Value for functions.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "description": "Value for analysis profile.",\n "properties": {\n "digest": {\n "description": "Value for digest.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "description": "Value for version.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "description": "Value for authority.",\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "description": "Value for confidence.",\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "description": "Value for architecture.",\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "description": "Value for isolation.",\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "description": "Value for platform.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for environment."\n },\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "description": "Value for evidence links.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "description": "Value for locations.",\n "items": {\n "oneOf": [\n {\n "properties": {\n "address": {\n "description": "Value for address.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "artifact-path",\n "description": "Value for kind.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "file-offset",\n "description": "Value for kind.",\n "type": "string"\n },\n "offset": {\n "description": "Value for offset.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0",\n "description": "Value for normalized result."\n },\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "description": "Value for predicate type.",\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for version."\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for raw result."\n },\n "subject": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "digest": {\n "description": "Value for digest.",\n "properties": {\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "description": "Declared input artifact format.",\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "description": "Local filesystem path for local.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for subject."\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "goal": {\n "additionalProperties": false,\n "description": "Value for goal.",\n "properties": {\n "address": {\n "description": "Value for address.",\n "pattern": "^(?:(?:[A-Za-z0-9._~-]|%[0-9a-fA-F]{2})+:)?0[xX][0-9a-fA-F]+$",\n "type": "string"\n }\n },\n "required": [\n "address"\n ],\n "type": "object"\n },\n "start": {\n "additionalProperties": false,\n "description": "Value for start.",\n "properties": {\n "address": {\n "description": "Value for address.",\n "pattern": "^(?:(?:[A-Za-z0-9._~-]|%[0-9a-fA-F]{2})+:)?0[xX][0-9a-fA-F]+$",\n "type": "string"\n }\n },\n "required": [\n "address"\n ],\n "type": "object"\n }\n },\n "required": [\n "functions",\n "start",\n "goal"\n ],\n "type": "object"\n },\n "kind": "session",\n "name": "build_call_path",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "explored": {\n "additionalProperties": false,\n "properties": {\n "depth_reached": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "edges": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "nodes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "nodes",\n "edges",\n "depth_reached"\n ],\n "type": "object"\n },\n "goal": {\n "pattern": "^(?:(?:[A-Za-z0-9._~-]|%[0-9A-F]{2})+:)?0x(?:0|[1-9a-f][0-9a-f]*)$",\n "type": "string"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "paths": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "edges": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "source": {\n "pattern": "^(?:(?:[A-Za-z0-9._~-]|%[0-9A-F]{2})+:)?0x(?:0|[1-9a-f][0-9a-f]*)$",\n "type": "string"\n },\n "target": {\n "pattern": "^(?:(?:[A-Za-z0-9._~-]|%[0-9A-F]{2})+:)?0x(?:0|[1-9a-f][0-9a-f]*)$",\n "type": "string"\n }\n },\n "required": [\n "source",\n "target",\n "evidence_links"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "hops": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "nodes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "pattern": "^(?:(?:[A-Za-z0-9._~-]|%[0-9A-F]{2})+:)?0x(?:0|[1-9a-f][0-9a-f]*)$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "address",\n "name",\n "evidence_links"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "hops",\n "nodes",\n "edges",\n "evidence_links"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "search_scope": {\n "additionalProperties": false,\n "properties": {\n "exhaustive": {\n "type": "boolean"\n }\n },\n "required": [\n "exhaustive"\n ],\n "type": "object"\n },\n "shortest_hops": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "start": {\n "pattern": "^(?:(?:[A-Za-z0-9._~-]|%[0-9A-F]{2})+:)?0x(?:0|[1-9a-f][0-9a-f]*)$",\n "type": "string"\n },\n "status": {\n "const": "found",\n "type": "string"\n }\n },\n "required": [\n "start",\n "goal",\n "explored",\n "evidence_links",\n "limitations",\n "status",\n "shortest_hops",\n "search_scope",\n "paths"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "explored": {\n "additionalProperties": false,\n "properties": {\n "depth_reached": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "edges": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "nodes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "nodes",\n "edges",\n "depth_reached"\n ],\n "type": "object"\n },\n "goal": {\n "pattern": "^(?:(?:[A-Za-z0-9._~-]|%[0-9A-F]{2})+:)?0x(?:0|[1-9a-f][0-9a-f]*)$",\n "type": "string"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "paths": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "search_scope": {\n "additionalProperties": false,\n "properties": {\n "exhaustive": {\n "const": true,\n "type": "boolean"\n }\n },\n "required": [\n "exhaustive"\n ],\n "type": "object"\n },\n "shortest_hops": {\n "type": "null"\n },\n "start": {\n "pattern": "^(?:(?:[A-Za-z0-9._~-]|%[0-9A-F]{2})+:)?0x(?:0|[1-9a-f][0-9a-f]*)$",\n "type": "string"\n },\n "status": {\n "const": "not_found",\n "type": "string"\n }\n },\n "required": [\n "start",\n "goal",\n "explored",\n "evidence_links",\n "limitations",\n "status",\n "shortest_hops",\n "search_scope",\n "paths"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "explored": {\n "additionalProperties": false,\n "properties": {\n "depth_reached": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "edges": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "nodes": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "nodes",\n "edges",\n "depth_reached"\n ],\n "type": "object"\n },\n "goal": {\n "pattern": "^(?:(?:[A-Za-z0-9._~-]|%[0-9A-F]{2})+:)?0x(?:0|[1-9a-f][0-9a-f]*)$",\n "type": "string"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "paths": {\n "items": {\n "not": {}\n },\n "maxItems": 0,\n "minItems": 0,\n "type": "array"\n },\n "search_scope": {\n "additionalProperties": false,\n "properties": {\n "exhaustive": {\n "const": false,\n "type": "boolean"\n }\n },\n "required": [\n "exhaustive"\n ],\n "type": "object"\n },\n "shortest_hops": {\n "type": "null"\n },\n "start": {\n "pattern": "^(?:(?:[A-Za-z0-9._~-]|%[0-9A-F]{2})+:)?0x(?:0|[1-9a-f][0-9a-f]*)$",\n "type": "string"\n },\n "status": {\n "const": "unknown",\n "type": "string"\n }\n },\n "required": [\n "start",\n "goal",\n "explored",\n "evidence_links",\n "limitations",\n "status",\n "shortest_hops",\n "search_scope",\n "paths"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": true,\n "title": "Build Call Path"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Evaluate every explicit caller-declared hypothesis 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. Returns all correlations and their complete Evidence closure inline.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "mappings": [\n {\n "hypothesis": {\n "expected_pattern": "static_only",\n "statement": "Static implementation changed without terminal change."\n },\n "runtime": {\n "comparison_evidence_id": "ev_7b90781a4b4c9006d4eee122009b3baed342e442ad2ad62498bf9e7df850355c",\n "dimension": "terminal"\n },\n "side_alignment": "left_to_left",\n "static": {\n "comparison_evidence_id": "ev_cc8049f629a9318e985bee4a547c0ec6646e9d3c2cbbabf4ac9b3758bc3ede86",\n "selector": {\n "dimension": "pseudocode",\n "kind": "function"\n }\n }\n }\n ],\n "runtime_comparisons": [\n {\n "authority": "analyst-inference",\n "confidence": "derived",\n "environment": null,\n "evidence_id": "ev_7b90781a4b4c9006d4eee122009b3baed342e442ad2ad62498bf9e7df850355c",\n "evidence_links": [\n "ev_39dc6ca57fd8d981c0bce63a1de75dd752e0ae47ff911440949cba8f6a8f1b7c",\n "ev_434bd49ec7096a6a955adb869d0f38ae3cb62f1256376ca87ca7ca983e5ef538"\n ],\n "limitations": [\n "Artifact identity is unavailable for this observation."\n ],\n "locations": [],\n "normalized_result": {\n "exit": "unchanged",\n "filesystem": "unchanged",\n "first_divergence": {\n "status": "none"\n },\n "interaction": "unchanged",\n "limitations": [],\n "process": "unchanged",\n "status": "unchanged",\n "terminal": "unchanged"\n },\n "operation": "compare_process_captures",\n "parameters": {\n "left_evidence_id": "ev_39dc6ca57fd8d981c0bce63a1de75dd752e0ae47ff911440949cba8f6a8f1b7c",\n "left_normalization": {\n "paths": true,\n "patterns": [],\n "pids": true,\n "ports": true,\n "time_bucket_ms": 10\n },\n "right_evidence_id": "ev_434bd49ec7096a6a955adb869d0f38ae3cb62f1256376ca87ca7ca983e5ef538",\n "right_normalization": {\n "paths": true,\n "patterns": [],\n "pids": true,\n "ports": true,\n "time_bucket_ms": 10\n }\n },\n "predicate_type": "rea.process-comparison",\n "provider": {\n "id": "rea-process",\n "name": "REA deterministic process harness",\n "version": "3"\n },\n "raw_result": null,\n "subject": null\n }\n ],\n "static_comparisons": [\n {\n "authority": "analyst-inference",\n "confidence": "derived",\n "environment": null,\n "evidence_id": "ev_cc8049f629a9318e985bee4a547c0ec6646e9d3c2cbbabf4ac9b3758bc3ede86",\n "evidence_links": [\n "ev_fd7f0f3851d21e5284b47129d9c7142e2ebeb6ed1c5f91bcff18a781d0b24cb7",\n "ev_79f87eddd8df1d59c6f2e2cd99f21bfae2e5a22fd26c5bf0d0b9ccf9e24b0522"\n ],\n "limitations": [\n "Artifact identity is unavailable for this observation."\n ],\n "locations": [],\n "normalized_result": {\n "changes": [\n {\n "conclusion_kind": "derived_relationship",\n "dimension": "pseudocode",\n "evidence_links": [\n "ev_fd7f0f3851d21e5284b47129d9c7142e2ebeb6ed1c5f91bcff18a781d0b24cb7",\n "ev_79f87eddd8df1d59c6f2e2cd99f21bfae2e5a22fd26c5bf0d0b9ccf9e24b0522"\n ],\n "left_count": 9,\n "left_digest": "64abdfe133a114158fa0e185d0edec784e6ccf13a166a0fed8bc18bb0cc72554",\n "limitations": [],\n "right_count": 9,\n "right_digest": "c8e26d77640903b2d4c765ebcb7f7170b64dd320dd3911abbe8346e07cd593d1",\n "status": "changed",\n "text_delta": {\n "added_lines": 1,\n "hunks": 2,\n "removed_lines": 1\n }\n }\n ],\n "dimensions": [\n {\n "conclusion_kind": "derived_relationship",\n "dimension": "identity",\n "evidence_links": [\n "ev_fd7f0f3851d21e5284b47129d9c7142e2ebeb6ed1c5f91bcff18a781d0b24cb7",\n "ev_79f87eddd8df1d59c6f2e2cd99f21bfae2e5a22fd26c5bf0d0b9ccf9e24b0522"\n ],\n "left_count": null,\n "left_digest": "dd190a914de1bdf8f4bba97a2e74b439585874c567f28eb0ff41bc5388c66d65",\n "limitations": [],\n "right_count": null,\n "right_digest": "dd190a914de1bdf8f4bba97a2e74b439585874c567f28eb0ff41bc5388c66d65",\n "status": "unchanged",\n "text_delta": null\n },\n {\n "conclusion_kind": "derived_relationship",\n "dimension": "pseudocode",\n "evidence_links": [\n "ev_fd7f0f3851d21e5284b47129d9c7142e2ebeb6ed1c5f91bcff18a781d0b24cb7",\n "ev_79f87eddd8df1d59c6f2e2cd99f21bfae2e5a22fd26c5bf0d0b9ccf9e24b0522"\n ],\n "left_count": 9,\n "left_digest": "64abdfe133a114158fa0e185d0edec784e6ccf13a166a0fed8bc18bb0cc72554",\n "limitations": [],\n "right_count": 9,\n "right_digest": "c8e26d77640903b2d4c765ebcb7f7170b64dd320dd3911abbe8346e07cd593d1",\n "status": "changed",\n "text_delta": {\n "added_lines": 1,\n "hunks": 2,\n "removed_lines": 1\n }\n },\n {\n "conclusion_kind": "derived_relationship",\n "dimension": "assembly",\n "evidence_links": [\n "ev_fd7f0f3851d21e5284b47129d9c7142e2ebeb6ed1c5f91bcff18a781d0b24cb7",\n "ev_79f87eddd8df1d59c6f2e2cd99f21bfae2e5a22fd26c5bf0d0b9ccf9e24b0522"\n ],\n "left_count": 0,\n "left_digest": "12ae32cb1ec02d01eda3581b127c1fee3b0dc53572ed6baf239721a03d82e126",\n "limitations": [\n "Assembly is opaque provider text; relocation normalization is unavailable."\n ],\n "right_count": 0,\n "right_digest": "12ae32cb1ec02d01eda3581b127c1fee3b0dc53572ed6baf239721a03d82e126",\n "status": "unchanged",\n "text_delta": {\n "added_lines": 0,\n "hunks": 0,\n "removed_lines": 0\n }\n },\n {\n "conclusion_kind": "derived_relationship",\n "dimension": "comments",\n "evidence_links": [\n "ev_fd7f0f3851d21e5284b47129d9c7142e2ebeb6ed1c5f91bcff18a781d0b24cb7",\n "ev_79f87eddd8df1d59c6f2e2cd99f21bfae2e5a22fd26c5bf0d0b9ccf9e24b0522"\n ],\n "left_count": 0,\n "left_digest": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",\n "limitations": [],\n "right_count": 0,\n "right_digest": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",\n "status": "unchanged",\n "text_delta": null\n },\n {\n "conclusion_kind": "derived_relationship",\n "dimension": "calls",\n "evidence_links": [\n "ev_fd7f0f3851d21e5284b47129d9c7142e2ebeb6ed1c5f91bcff18a781d0b24cb7",\n "ev_79f87eddd8df1d59c6f2e2cd99f21bfae2e5a22fd26c5bf0d0b9ccf9e24b0522"\n ],\n "left_count": 0,\n "left_digest": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",\n "limitations": [],\n "right_count": 0,\n "right_digest": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",\n "status": "unchanged",\n "text_delta": null\n },\n {\n "conclusion_kind": "derived_relationship",\n "dimension": "references",\n "evidence_links": [\n "ev_fd7f0f3851d21e5284b47129d9c7142e2ebeb6ed1c5f91bcff18a781d0b24cb7",\n "ev_79f87eddd8df1d59c6f2e2cd99f21bfae2e5a22fd26c5bf0d0b9ccf9e24b0522"\n ],\n "left_count": 0,\n "left_digest": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",\n "limitations": [],\n "right_count": 0,\n "right_digest": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",\n "status": "unchanged",\n "text_delta": null\n },\n {\n "conclusion_kind": "derived_relationship",\n "dimension": "strings_names",\n "evidence_links": [\n "ev_fd7f0f3851d21e5284b47129d9c7142e2ebeb6ed1c5f91bcff18a781d0b24cb7",\n "ev_79f87eddd8df1d59c6f2e2cd99f21bfae2e5a22fd26c5bf0d0b9ccf9e24b0522"\n ],\n "left_count": 0,\n "left_digest": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",\n "limitations": [],\n "right_count": 0,\n "right_digest": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",\n "status": "unchanged",\n "text_delta": null\n },\n {\n "conclusion_kind": "derived_relationship",\n "dimension": "cfg",\n "evidence_links": [\n "ev_fd7f0f3851d21e5284b47129d9c7142e2ebeb6ed1c5f91bcff18a781d0b24cb7",\n "ev_79f87eddd8df1d59c6f2e2cd99f21bfae2e5a22fd26c5bf0d0b9ccf9e24b0522"\n ],\n "left_count": 1,\n "left_digest": "e947121f0d4cb8d2a2468a75a44872a29aa1239e6401712df80cfa36bf7df7a0",\n "limitations": [],\n "right_count": 1,\n "right_digest": "e947121f0d4cb8d2a2468a75a44872a29aa1239e6401712df80cfa36bf7df7a0",\n "status": "unchanged",\n "text_delta": null\n }\n ],\n "function_match": {\n "left_name": "main",\n "method": "symbol",\n "right_name": "main",\n "status": "matched"\n },\n "left_subject_sha256": "0000000000000000000000000000000000000000000000000000000000000000",\n "limitations": [],\n "right_subject_sha256": "1111111111111111111111111111111111111111111111111111111111111111",\n "status": "changed",\n "summary": {\n "changed": 1,\n "truncated": 0,\n "unchanged": 7,\n "unknown": 0\n }\n },\n "operation": "compare_functions",\n "parameters": {\n "left_evidence_id": "ev_fd7f0f3851d21e5284b47129d9c7142e2ebeb6ed1c5f91bcff18a781d0b24cb7",\n "right_evidence_id": "ev_79f87eddd8df1d59c6f2e2cd99f21bfae2e5a22fd26c5bf0d0b9ccf9e24b0522"\n },\n "predicate_type": "rea.function-comparison",\n "provider": {\n "id": "rea-function-comparison",\n "name": "REA function comparison",\n "version": "1"\n },\n "raw_result": null,\n "subject": null\n }\n ]\n }\n ],\n "properties": {\n "mappings": {\n "description": "Value for mappings.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "hypothesis": {\n "additionalProperties": false,\n "description": "Value for hypothesis.",\n "properties": {\n "expected_pattern": {\n "description": "Expected pattern used to reject stale or mismatched input.",\n "enum": [\n "cochanged",\n "static_only",\n "runtime_only",\n "both_unchanged"\n ],\n "type": "string"\n },\n "statement": {\n "description": "Value for statement.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "statement",\n "expected_pattern"\n ],\n "type": "object"\n },\n "runtime": {\n "additionalProperties": false,\n "description": "Value for runtime.",\n "properties": {\n "comparison_evidence_id": {\n "description": "Exact Evidence identifier for the comparison observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "dimension": {\n "description": "Value for dimension.",\n "enum": [\n "terminal",\n "interaction",\n "exit",\n "filesystem",\n "process"\n ],\n "type": "string"\n }\n },\n "required": [\n "comparison_evidence_id",\n "dimension"\n ],\n "type": "object"\n },\n "side_alignment": {\n "description": "Value for side alignment.",\n "enum": [\n "left_to_left",\n "left_to_right"\n ],\n "type": "string"\n },\n "static": {\n "additionalProperties": false,\n "description": "Value for static.",\n "properties": {\n "comparison_evidence_id": {\n "description": "Exact Evidence identifier for the comparison observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "selector": {\n "description": "Value for selector.",\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact",\n "description": "Value for kind.",\n "type": "string"\n },\n "logical_path": {\n "description": "Local filesystem path for logical.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "logical_path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "dimension": {\n "description": "Value for dimension.",\n "enum": [\n "identity",\n "pseudocode",\n "assembly",\n "comments",\n "calls",\n "references",\n "strings_names",\n "cfg"\n ],\n "type": "string"\n },\n "kind": {\n "const": "function",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "dimension"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "comparison_evidence_id",\n "selector"\n ],\n "type": "object"\n }\n },\n "required": [\n "static",\n "runtime",\n "side_alignment",\n "hypothesis"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "runtime_comparisons": {\n "description": "Value for runtime comparisons.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "description": "Value for analysis profile.",\n "properties": {\n "digest": {\n "description": "Value for digest.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "description": "Value for version.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "description": "Value for authority.",\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "description": "Value for confidence.",\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "description": "Value for architecture.",\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "description": "Value for isolation.",\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "description": "Value for platform.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for environment."\n },\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "description": "Value for evidence links.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "description": "Value for locations.",\n "items": {\n "oneOf": [\n {\n "properties": {\n "address": {\n "description": "Value for address.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "artifact-path",\n "description": "Value for kind.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "file-offset",\n "description": "Value for kind.",\n "type": "string"\n },\n "offset": {\n "description": "Value for offset.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0",\n "description": "Value for normalized result."\n },\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "description": "Value for predicate type.",\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for version."\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for raw result."\n },\n "subject": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "digest": {\n "description": "Value for digest.",\n "properties": {\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "description": "Declared input artifact format.",\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "description": "Local filesystem path for local.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for subject."\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n },\n "static_comparisons": {\n "description": "Value for static comparisons.",\n "items": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "description": "Value for analysis profile.",\n "properties": {\n "digest": {\n "description": "Value for digest.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "description": "Value for version.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "description": "Value for authority.",\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "description": "Value for confidence.",\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "description": "Value for architecture.",\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "description": "Value for isolation.",\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "description": "Value for platform.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for environment."\n },\n "evidence_id": {\n "description": "Stable identifier of the recorded Evidence observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "description": "Value for evidence links.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "description": "Value for limitations.",\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "description": "Value for locations.",\n "items": {\n "oneOf": [\n {\n "properties": {\n "address": {\n "description": "Value for address.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "description": "Value for kind.",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "artifact-path",\n "description": "Value for kind.",\n "type": "string"\n },\n "path": {\n "description": "Local filesystem path used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "properties": {\n "kind": {\n "const": "file-offset",\n "description": "Value for kind.",\n "type": "string"\n },\n "offset": {\n "description": "Value for offset.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "properties": {\n "end": {\n "description": "Value for end.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "description": "Value for kind.",\n "type": "string"\n },\n "start": {\n "description": "Value for start.",\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0",\n "description": "Value for normalized result."\n },\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "description": "Value for parameters.",\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "description": "Value for predicate type.",\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "description": "Value for provider.",\n "properties": {\n "id": {\n "description": "Value for id.",\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for version."\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for raw result."\n },\n "subject": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "digest": {\n "description": "Value for digest.",\n "properties": {\n "sha256": {\n "description": "Value for sha256.",\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "description": "Declared input artifact format.",\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "description": "Local filesystem path for local.",\n "type": "string"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for subject."\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "minItems": 1,\n "type": "array"\n }\n },\n "required": [\n "static_comparisons",\n "runtime_comparisons",\n "mappings"\n ],\n "type": "object"\n },\n "kind": "session",\n "name": "correlate_static_and_runtime",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "correlations": {\n "additionalProperties": false,\n "properties": {\n "items": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "classification": {\n "enum": [\n "hypothesis",\n "contradiction",\n "unresolved_branch"\n ],\n "type": "string"\n },\n "correlation_id": {\n "pattern": "^cor_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 2,\n "type": "array"\n },\n "hypothesis": {\n "additionalProperties": false,\n "properties": {\n "expected_pattern": {\n "enum": [\n "cochanged",\n "static_only",\n "runtime_only",\n "both_unchanged"\n ],\n "type": "string"\n },\n "statement": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "statement",\n "expected_pattern"\n ],\n "type": "object"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "observed_pattern": {\n "enum": [\n "cochanged",\n "static_only",\n "runtime_only",\n "both_unchanged",\n "unknown",\n "truncated"\n ],\n "type": "string"\n },\n "runtime": {\n "additionalProperties": false,\n "properties": {\n "comparison_evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "dimension": {\n "enum": [\n "terminal",\n "interaction",\n "exit",\n "filesystem",\n "process"\n ],\n "type": "string"\n },\n "status": {\n "enum": [\n "unchanged",\n "added",\n "removed",\n "changed",\n "truncated",\n "unknown",\n "contradiction"\n ],\n "type": "string"\n }\n },\n "required": [\n "comparison_evidence_id",\n "dimension",\n "status"\n ],\n "type": "object"\n },\n "side_alignment": {\n "enum": [\n "left_to_left",\n "left_to_right"\n ],\n "type": "string"\n },\n "static": {\n "additionalProperties": false,\n "properties": {\n "comparison_evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "conclusion_kind": {\n "enum": [\n "derived_relationship",\n "contradiction",\n "unresolved_branch"\n ],\n "type": "string"\n },\n "selector": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact",\n "type": "string"\n },\n "logical_path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "logical_path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "dimension": {\n "enum": [\n "identity",\n "pseudocode",\n "assembly",\n "comments",\n "calls",\n "references",\n "strings_names",\n "cfg"\n ],\n "type": "string"\n },\n "kind": {\n "const": "function",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "dimension"\n ],\n "type": "object"\n }\n ]\n },\n "status": {\n "enum": [\n "unchanged",\n "added",\n "removed",\n "changed",\n "truncated",\n "unknown",\n "contradiction"\n ],\n "type": "string"\n }\n },\n "required": [\n "comparison_evidence_id",\n "selector",\n "status",\n "conclusion_kind"\n ],\n "type": "object"\n }\n },\n "required": [\n "correlation_id",\n "static",\n "runtime",\n "side_alignment",\n "hypothesis",\n "observed_pattern",\n "classification",\n "evidence_links",\n "limitations"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "items"\n ],\n "type": "object"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 2,\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "status": {\n "enum": [\n "correlated",\n "contradicted",\n "unknown",\n "truncated"\n ],\n "type": "string"\n },\n "summary": {\n "additionalProperties": false,\n "properties": {\n "contradictions": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "hypotheses": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "unresolved": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "hypotheses",\n "contradictions",\n "unresolved"\n ],\n "type": "object"\n }\n },\n "required": [\n "status",\n "summary",\n "correlations",\n "evidence_links",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": true,\n "title": "Correlate Static And Runtime"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "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.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "specification": {\n "claims": [\n {\n "claim_id": "terminal-output",\n "comparison_evidence_id": "ev_7b90781a4b4c9006d4eee122009b3baed342e442ad2ad62498bf9e7df850355c",\n "dimension": "terminal",\n "kind": "behavioral",\n "title": "Terminal output remains equivalent"\n }\n ],\n "name": "Terminal compatibility"\n }\n }\n ],\n "properties": {\n "specification": {\n "description": "Value for specification.",\n "properties": {\n "claims": {\n "description": "Value for claims.",\n "items": {\n "oneOf": [\n {\n "properties": {\n "claim_id": {\n "description": "Value for claim id.",\n "pattern": "^[A-Za-z][A-Za-z0-9._-]*$",\n "type": "string"\n },\n "comparison_evidence_id": {\n "description": "Exact Evidence identifier for the comparison observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "dimension": {\n "description": "Value for dimension.",\n "enum": [\n "overall",\n "terminal",\n "interaction",\n "exit",\n "filesystem",\n "process"\n ],\n "type": "string"\n },\n "kind": {\n "const": "behavioral",\n "description": "Value for kind.",\n "type": "string"\n },\n "title": {\n "description": "Value for title.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "claim_id",\n "title",\n "comparison_evidence_id",\n "kind",\n "dimension"\n ],\n "type": "object"\n },\n {\n "properties": {\n "claim_id": {\n "description": "Value for claim id.",\n "pattern": "^[A-Za-z][A-Za-z0-9._-]*$",\n "type": "string"\n },\n "comparison_evidence_id": {\n "description": "Exact Evidence identifier for the comparison observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "dimension": {\n "description": "Value for dimension.",\n "enum": [\n "overall",\n "identity",\n "pseudocode",\n "assembly",\n "comments",\n "calls",\n "references",\n "strings_names",\n "cfg"\n ],\n "type": "string"\n },\n "kind": {\n "const": "structural-function",\n "description": "Value for kind.",\n "type": "string"\n },\n "title": {\n "description": "Value for title.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "claim_id",\n "title",\n "comparison_evidence_id",\n "kind",\n "dimension"\n ],\n "type": "object"\n },\n {\n "properties": {\n "claim_id": {\n "description": "Value for claim id.",\n "pattern": "^[A-Za-z][A-Za-z0-9._-]*$",\n "type": "string"\n },\n "comparison_evidence_id": {\n "description": "Exact Evidence identifier for the comparison observation.",\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "dimension": {\n "const": "overall",\n "description": "Value for dimension.",\n "type": "string"\n },\n "kind": {\n "const": "structural-artifact",\n "description": "Value for kind.",\n "type": "string"\n },\n "title": {\n "description": "Value for title.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "claim_id",\n "title",\n "comparison_evidence_id",\n "kind",\n "dimension"\n ],\n "type": "object"\n }\n ]\n },\n "minItems": 1,\n "type": "array"\n },\n "name": {\n "description": "Exact name used by this operation.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "claims"\n ],\n "type": "object"\n }\n },\n "required": [\n "specification"\n ],\n "type": "object"\n },\n "kind": "session",\n "name": "verify_reconstruction",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "evidence": {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "result": {\n "additionalProperties": false,\n "properties": {\n "claims": {\n "additionalProperties": false,\n "properties": {\n "items": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "claim_id": {\n "pattern": "^[A-Za-z][A-Za-z0-9._-]*$",\n "type": "string"\n },\n "comparison_evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "dimension": {\n "minLength": 1,\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 3,\n "type": "array"\n },\n "kind": {\n "enum": [\n "behavioral",\n "structural-function",\n "structural-artifact"\n ],\n "type": "string"\n },\n "left_evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "observed_status": {\n "enum": [\n "unchanged",\n "added",\n "removed",\n "changed",\n "truncated",\n "unknown",\n "contradiction"\n ],\n "type": "string"\n },\n "right_evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "status": {\n "enum": [\n "pass",\n "fail",\n "unknown"\n ],\n "type": "string"\n },\n "unknown_ids": {\n "items": {\n "pattern": "^unk_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n }\n },\n "required": [\n "claim_id",\n "kind",\n "dimension",\n "status",\n "observed_status",\n "comparison_evidence_id",\n "left_evidence_ids",\n "right_evidence_ids",\n "evidence_links",\n "unknown_ids",\n "limitations"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "items"\n ],\n "type": "object"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 3,\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "recommended_probes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "claim_ids": {\n "items": {\n "pattern": "^[A-Za-z][A-Za-z0-9._-]*$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "rationale": {\n "minLength": 1,\n "type": "string"\n },\n "unknown_ids": {\n "items": {\n "pattern": "^unk_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n }\n },\n "required": [\n "operation",\n "rationale",\n "claim_ids",\n "unknown_ids"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "specification_sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "status": {\n "enum": [\n "pass",\n "fail",\n "unknown"\n ],\n "type": "string"\n },\n "summary": {\n "additionalProperties": false,\n "properties": {\n "behavioral": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "failed": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "passed": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "structural": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "total": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "unknown": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "total",\n "passed",\n "failed",\n "unknown",\n "behavioral",\n "structural"\n ],\n "type": "object"\n }\n },\n "required": [\n "status",\n "specification_sha256",\n "summary",\n "claims",\n "recommended_probes",\n "evidence_links",\n "limitations"\n ],\n "type": "object"\n }\n },\n "required": [\n "result",\n "evidence_id",\n "evidence"\n ],\n "type": "object"\n },\n "requiresSession": true,\n "title": "Verify Reconstruction"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": true\n },\n "description": "List every current residual-unknown head in deterministic ID order, with optional exact status, severity, and domain filters. Results are complete and inline. This is read-only; unresolved, contradicted, and non-truth dispositions remain distinct.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": false,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {}\n ],\n "properties": {\n "domain": {\n "description": "Value for domain.",\n "minLength": 1,\n "type": "string"\n },\n "severity": {\n "description": "Value for severity.",\n "enum": [\n "low",\n "medium",\n "high",\n "critical"\n ],\n "type": "string"\n },\n "status": {\n "description": "Current lifecycle or verification status.",\n "enum": [\n "open",\n "investigating",\n "blocked",\n "contradicted",\n "resolved"\n ],\n "type": "string"\n }\n },\n "type": "object"\n },\n "kind": "session",\n "name": "list_unknowns",\n "outputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "result": {\n "additionalProperties": false,\n "properties": {\n "items": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "contradicting_evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "domain": {\n "minLength": 1,\n "type": "string"\n },\n "mutation_evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "previous_revision_digest": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "question": {\n "minLength": 1,\n "type": "string"\n },\n "recommended_probes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "rationale": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "operation",\n "rationale"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "relationships": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "type": {\n "enum": [\n "depends-on",\n "related-to",\n "contradicts"\n ],\n "type": "string"\n },\n "unknown_id": {\n "pattern": "^unk_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "type",\n "unknown_id"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "required_authority": {\n "anyOf": [\n {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "required_confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "required_environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "id": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "isolation": {\n "anyOf": [\n {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "platform": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "resolution": {\n "anyOf": [\n {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "disposition": {\n "const": "verified",\n "type": "string"\n },\n "evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "rationale": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "disposition",\n "rationale",\n "evidence_ids"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "disposition": {\n "enum": [\n "withdrawn",\n "out-of-scope"\n ],\n "type": "string"\n },\n "evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "rationale": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "disposition",\n "rationale",\n "evidence_ids"\n ],\n "type": "object"\n }\n ]\n },\n {\n "type": "null"\n }\n ]\n },\n "revision": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "revision_digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "scope_digest": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "severity": {\n "enum": [\n "low",\n "medium",\n "high",\n "critical"\n ],\n "type": "string"\n },\n "status": {\n "enum": [\n "open",\n "investigating",\n "blocked",\n "contradicted",\n "resolved"\n ],\n "type": "string"\n },\n "supporting_evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "unknown_id": {\n "pattern": "^unk_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "unknown_id",\n "revision",\n "previous_revision_digest",\n "revision_digest",\n "scope_digest",\n "question",\n "status",\n "severity",\n "domain",\n "supporting_evidence_ids",\n "contradicting_evidence_ids",\n "required_authority",\n "required_confidence",\n "required_environment",\n "recommended_probes",\n "relationships",\n "resolution",\n "mutation_evidence_ids"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "total": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "items",\n "total"\n ],\n "type": "object"\n }\n },\n "required": [\n "result"\n ],\n "type": "object"\n },\n "requiresSession": true,\n "title": "List Unknowns"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": false,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Create one deterministic residual unknown and immutable mutation evidence. Validates all evidence and relationship references, and rejects duplicate stable identity.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": false,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {\n "contradicting_evidence_ids": [],\n "domain": "protocol",\n "question": "Does this branch require an unavailable external service?",\n "recommended_probes": [\n {\n "operation": "capture_process_scenario",\n "rationale": "Replay branch."\n }\n ],\n "relationships": [],\n "required_authority": "controlled-replay",\n "required_confidence": "observed",\n "required_environment": null,\n "severity": "medium",\n "supporting_evidence_ids": []\n }\n ],\n "properties": {\n "contradicting_evidence_ids": {\n "default": [],\n "description": "Ordered Evidence identifiers for the contradicting observations.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "domain": {\n "description": "Value for domain.",\n "minLength": 1,\n "type": "string"\n },\n "question": {\n "description": "Concrete unresolved question to retain for later investigation.",\n "minLength": 1,\n "type": "string"\n },\n "recommended_probes": {\n "description": "Value for recommended probes.",\n "items": {\n "properties": {\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n },\n "rationale": {\n "description": "Value for rationale.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "operation",\n "rationale"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "relationships": {\n "description": "Value for relationships.",\n "items": {\n "properties": {\n "type": {\n "description": "Value for type.",\n "enum": [\n "depends-on",\n "related-to",\n "contradicts"\n ],\n "type": "string"\n },\n "unknown_id": {\n "description": "Exact residual-unknown identifier.",\n "pattern": "^unk_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "type",\n "unknown_id"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "required_authority": {\n "anyOf": [\n {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for required authority."\n },\n "required_confidence": {\n "description": "Value for required confidence.",\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "required_environment": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "id": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for id."\n },\n "isolation": {\n "anyOf": [\n {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for isolation."\n },\n "platform": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for platform."\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for required environment."\n },\n "severity": {\n "description": "Value for severity.",\n "enum": [\n "low",\n "medium",\n "high",\n "critical"\n ],\n "type": "string"\n },\n "supporting_evidence_ids": {\n "default": [],\n "description": "Ordered Evidence identifiers for the supporting observations.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n }\n },\n "required": [\n "question",\n "severity",\n "domain",\n "required_authority",\n "required_confidence",\n "required_environment",\n "recommended_probes",\n "relationships"\n ],\n "type": "object"\n },\n "kind": "session",\n "name": "record_unknown",\n "outputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "result": {\n "additionalProperties": false,\n "properties": {\n "contradicting_evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "domain": {\n "minLength": 1,\n "type": "string"\n },\n "mutation_evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "previous_revision_digest": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "question": {\n "minLength": 1,\n "type": "string"\n },\n "recommended_probes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "rationale": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "operation",\n "rationale"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "relationships": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "type": {\n "enum": [\n "depends-on",\n "related-to",\n "contradicts"\n ],\n "type": "string"\n },\n "unknown_id": {\n "pattern": "^unk_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "type",\n "unknown_id"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "required_authority": {\n "anyOf": [\n {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "required_confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "required_environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "id": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "isolation": {\n "anyOf": [\n {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "platform": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "resolution": {\n "anyOf": [\n {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "disposition": {\n "const": "verified",\n "type": "string"\n },\n "evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "rationale": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "disposition",\n "rationale",\n "evidence_ids"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "disposition": {\n "enum": [\n "withdrawn",\n "out-of-scope"\n ],\n "type": "string"\n },\n "evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "rationale": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "disposition",\n "rationale",\n "evidence_ids"\n ],\n "type": "object"\n }\n ]\n },\n {\n "type": "null"\n }\n ]\n },\n "revision": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "revision_digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "scope_digest": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "severity": {\n "enum": [\n "low",\n "medium",\n "high",\n "critical"\n ],\n "type": "string"\n },\n "status": {\n "enum": [\n "open",\n "investigating",\n "blocked",\n "contradicted",\n "resolved"\n ],\n "type": "string"\n },\n "supporting_evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "unknown_id": {\n "pattern": "^unk_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "unknown_id",\n "revision",\n "previous_revision_digest",\n "revision_digest",\n "scope_digest",\n "question",\n "status",\n "severity",\n "domain",\n "supporting_evidence_ids",\n "contradicting_evidence_ids",\n "required_authority",\n "required_confidence",\n "required_environment",\n "recommended_probes",\n "relationships",\n "resolution",\n "mutation_evidence_ids"\n ],\n "type": "object"\n }\n },\n "required": [\n "result"\n ],\n "type": "object"\n },\n "requiresSession": true,\n "title": "Record Unknown"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": false,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Append one immutable full-state revision and mutation evidence. Requires exact expected_revision; stale concurrent writers fail instead of overwriting newer analysis.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": false,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "examples": [\n {\n "contradicting_evidence_ids": [],\n "expected_revision": 1,\n "recommended_probes": [],\n "relationships": [],\n "required_authority": "controlled-replay",\n "required_confidence": "observed",\n "required_environment": null,\n "resolution": null,\n "severity": "medium",\n "status": "investigating",\n "supporting_evidence_ids": [],\n "unknown_id": "unk_0000000000000000000000000000000000000000000000000000000000000000"\n }\n ],\n "properties": {\n "contradicting_evidence_ids": {\n "description": "Ordered Evidence identifiers for the contradicting observations.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "expected_revision": {\n "description": "Expected revision used to reject stale or mismatched input.",\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "recommended_probes": {\n "description": "Value for recommended probes.",\n "items": {\n "properties": {\n "operation": {\n "description": "Value for operation.",\n "minLength": 1,\n "type": "string"\n },\n "rationale": {\n "description": "Value for rationale.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "operation",\n "rationale"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "relationships": {\n "description": "Value for relationships.",\n "items": {\n "properties": {\n "type": {\n "description": "Value for type.",\n "enum": [\n "depends-on",\n "related-to",\n "contradicts"\n ],\n "type": "string"\n },\n "unknown_id": {\n "description": "Exact residual-unknown identifier.",\n "pattern": "^unk_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "type",\n "unknown_id"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "required_authority": {\n "anyOf": [\n {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for required authority."\n },\n "required_confidence": {\n "description": "Value for required confidence.",\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "required_environment": {\n "anyOf": [\n {\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for architecture."\n },\n "id": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for id."\n },\n "isolation": {\n "anyOf": [\n {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for isolation."\n },\n "platform": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for platform."\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for required environment."\n },\n "resolution": {\n "anyOf": [\n {\n "oneOf": [\n {\n "properties": {\n "disposition": {\n "const": "verified",\n "description": "Value for disposition.",\n "type": "string"\n },\n "evidence_ids": {\n "description": "Value for evidence ids.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "rationale": {\n "description": "Value for rationale.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "disposition",\n "rationale",\n "evidence_ids"\n ],\n "type": "object"\n },\n {\n "properties": {\n "disposition": {\n "description": "Value for disposition.",\n "enum": [\n "withdrawn",\n "out-of-scope"\n ],\n "type": "string"\n },\n "evidence_ids": {\n "description": "Value for evidence ids.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "rationale": {\n "description": "Value for rationale.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "disposition",\n "rationale",\n "evidence_ids"\n ],\n "type": "object"\n }\n ]\n },\n {\n "type": "null"\n }\n ],\n "description": "Value for resolution."\n },\n "severity": {\n "description": "Value for severity.",\n "enum": [\n "low",\n "medium",\n "high",\n "critical"\n ],\n "type": "string"\n },\n "status": {\n "description": "Current lifecycle or verification status.",\n "enum": [\n "open",\n "investigating",\n "blocked",\n "contradicted",\n "resolved"\n ],\n "type": "string"\n },\n "supporting_evidence_ids": {\n "description": "Ordered Evidence identifiers for the supporting observations.",\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "unknown_id": {\n "description": "Exact residual-unknown identifier.",\n "pattern": "^unk_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "unknown_id",\n "expected_revision",\n "status",\n "severity",\n "supporting_evidence_ids",\n "contradicting_evidence_ids",\n "required_authority",\n "required_confidence",\n "required_environment",\n "recommended_probes",\n "relationships",\n "resolution"\n ],\n "type": "object"\n },\n "kind": "session",\n "name": "update_unknown",\n "outputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "result": {\n "additionalProperties": false,\n "properties": {\n "contradicting_evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "domain": {\n "minLength": 1,\n "type": "string"\n },\n "mutation_evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "previous_revision_digest": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "question": {\n "minLength": 1,\n "type": "string"\n },\n "recommended_probes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "rationale": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "operation",\n "rationale"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "relationships": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "type": {\n "enum": [\n "depends-on",\n "related-to",\n "contradicts"\n ],\n "type": "string"\n },\n "unknown_id": {\n "pattern": "^unk_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "type",\n "unknown_id"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "required_authority": {\n "anyOf": [\n {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "required_confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "required_environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "id": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "isolation": {\n "anyOf": [\n {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "platform": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "resolution": {\n "anyOf": [\n {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "disposition": {\n "const": "verified",\n "type": "string"\n },\n "evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "rationale": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "disposition",\n "rationale",\n "evidence_ids"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "disposition": {\n "enum": [\n "withdrawn",\n "out-of-scope"\n ],\n "type": "string"\n },\n "evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "rationale": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "disposition",\n "rationale",\n "evidence_ids"\n ],\n "type": "object"\n }\n ]\n },\n {\n "type": "null"\n }\n ]\n },\n "revision": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "revision_digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "scope_digest": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "severity": {\n "enum": [\n "low",\n "medium",\n "high",\n "critical"\n ],\n "type": "string"\n },\n "status": {\n "enum": [\n "open",\n "investigating",\n "blocked",\n "contradicted",\n "resolved"\n ],\n "type": "string"\n },\n "supporting_evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "unknown_id": {\n "pattern": "^unk_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "unknown_id",\n "revision",\n "previous_revision_digest",\n "revision_digest",\n "scope_digest",\n "question",\n "status",\n "severity",\n "domain",\n "supporting_evidence_ids",\n "contradicting_evidence_ids",\n "required_authority",\n "required_confidence",\n "required_environment",\n "recommended_probes",\n "relationships",\n "resolution",\n "mutation_evidence_ids"\n ],\n "type": "object"\n }\n },\n "required": [\n "result"\n ],\n "type": "object"\n },\n "requiresSession": true,\n "title": "Update Unknown"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": true\n },\n "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.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": false,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "unknown_id": "unk_0000000000000000000000000000000000000000000000000000000000000000"\n }\n ],\n "properties": {\n "unknown_id": {\n "description": "Exact residual-unknown identifier.",\n "pattern": "^unk_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "unknown_id"\n ],\n "type": "object"\n },\n "kind": "session",\n "name": "verify_unknown_resolution",\n "outputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "result": {\n "additionalProperties": false,\n "properties": {\n "truthVerified": {\n "type": "boolean"\n },\n "unknown": {\n "additionalProperties": false,\n "properties": {\n "contradicting_evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "domain": {\n "minLength": 1,\n "type": "string"\n },\n "mutation_evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "previous_revision_digest": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "question": {\n "minLength": 1,\n "type": "string"\n },\n "recommended_probes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "rationale": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "operation",\n "rationale"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "relationships": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "type": {\n "enum": [\n "depends-on",\n "related-to",\n "contradicts"\n ],\n "type": "string"\n },\n "unknown_id": {\n "pattern": "^unk_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "type",\n "unknown_id"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "required_authority": {\n "anyOf": [\n {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "required_confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "required_environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "id": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "isolation": {\n "anyOf": [\n {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "platform": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "resolution": {\n "anyOf": [\n {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "disposition": {\n "const": "verified",\n "type": "string"\n },\n "evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "rationale": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "disposition",\n "rationale",\n "evidence_ids"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "disposition": {\n "enum": [\n "withdrawn",\n "out-of-scope"\n ],\n "type": "string"\n },\n "evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "rationale": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "disposition",\n "rationale",\n "evidence_ids"\n ],\n "type": "object"\n }\n ]\n },\n {\n "type": "null"\n }\n ]\n },\n "revision": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "revision_digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "scope_digest": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "severity": {\n "enum": [\n "low",\n "medium",\n "high",\n "critical"\n ],\n "type": "string"\n },\n "status": {\n "enum": [\n "open",\n "investigating",\n "blocked",\n "contradicted",\n "resolved"\n ],\n "type": "string"\n },\n "supporting_evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "unknown_id": {\n "pattern": "^unk_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "unknown_id",\n "revision",\n "previous_revision_digest",\n "revision_digest",\n "scope_digest",\n "question",\n "status",\n "severity",\n "domain",\n "supporting_evidence_ids",\n "contradicting_evidence_ids",\n "required_authority",\n "required_confidence",\n "required_environment",\n "recommended_probes",\n "relationships",\n "resolution",\n "mutation_evidence_ids"\n ],\n "type": "object"\n },\n "valid": {\n "type": "boolean"\n }\n },\n "required": [\n "valid",\n "truthVerified",\n "unknown"\n ],\n "type": "object"\n }\n },\n "required": [\n "result"\n ],\n "type": "object"\n },\n "requiresSession": true,\n "title": "Verify Unknown Resolution"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": true\n },\n "description": "Return every Evidence record and residual unknown currently retained by this session as one inline bundle for direct inspection or follow-up workflows.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": false,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {}\n ],\n "properties": {},\n "type": "object"\n },\n "kind": "session",\n "name": "get_evidence_bundle",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "result": {\n "additionalProperties": false,\n "properties": {\n "artifacts": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n }\n },\n "required": [\n "digest",\n "format",\n "architecture"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "captures": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "evidence_id",\n "predicate_type"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "environments": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "providers": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "records": {\n "items": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "analysis_profile": {\n "additionalProperties": false,\n "properties": {\n "digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n }\n },\n "required": [\n "provider",\n "parameters",\n "digest"\n ],\n "type": "object"\n },\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links",\n "analysis_profile"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "authority": {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n "confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "minLength": 1,\n "type": "string"\n },\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "isolation": {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n "platform": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "evidence_links": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "limitations": {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n "locations": {\n "items": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "address": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address",\n "type": "string"\n }\n },\n "required": [\n "kind",\n "address"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "minLength": 1,\n "type": "string"\n },\n "kind": {\n "const": "address-range",\n "type": "string"\n },\n "start": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "artifact-path",\n "type": "string"\n },\n "path": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "kind",\n "path"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "kind": {\n "const": "file-offset",\n "type": "string"\n },\n "offset": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "offset"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "end": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n },\n "kind": {\n "const": "file-offset-range",\n "type": "string"\n },\n "start": {\n "maximum": 9007199254740991,\n "minimum": 0,\n "type": "integer"\n }\n },\n "required": [\n "kind",\n "start",\n "end"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "normalized_result": {\n "$ref": "#/$defs/__schema0"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "parameters": {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n },\n "predicate_type": {\n "minLength": 1,\n "type": "string"\n },\n "provider": {\n "additionalProperties": false,\n "properties": {\n "id": {\n "minLength": 1,\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n },\n "version": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "name",\n "version"\n ],\n "type": "object"\n },\n "raw_result": {\n "anyOf": [\n {\n "$ref": "#/$defs/__schema0"\n },\n {\n "type": "null"\n }\n ]\n },\n "subject": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "enum": [\n "x86",\n "x86_64",\n "arm",\n "arm64"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "digest": {\n "additionalProperties": false,\n "properties": {\n "sha256": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "sha256"\n ],\n "type": "object"\n },\n "format": {\n "enum": [\n "hopper",\n "analysis-database",\n "mach-o",\n "elf",\n "pe",\n "dos-mz",\n "dos-com",\n "zip",\n "ipa",\n "apk",\n "msix",\n "appx",\n "asar",\n "dmg",\n "pkg",\n "plist",\n "javascript",\n "source-map",\n "directory",\n "file",\n "unknown",\n "mach-o-universal",\n "javascript-bundle",\n "entitlements"\n ],\n "type": "string"\n },\n "local_path": {\n "type": "string"\n },\n "name": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "name",\n "digest",\n "format",\n "architecture",\n "local_path"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "evidence_id",\n "subject",\n "provider",\n "predicate_type",\n "operation",\n "parameters",\n "raw_result",\n "normalized_result",\n "confidence",\n "authority",\n "environment",\n "limitations",\n "locations",\n "evidence_links"\n ],\n "type": "object"\n }\n ]\n },\n "type": "array"\n },\n "scenarios": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "authority": {\n "const": "controlled-replay",\n "type": "string"\n },\n "evidence_id": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "operation": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "evidence_id",\n "operation",\n "authority"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "unknowns": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "contradicting_evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "domain": {\n "minLength": 1,\n "type": "string"\n },\n "mutation_evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "previous_revision_digest": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "question": {\n "minLength": 1,\n "type": "string"\n },\n "recommended_probes": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "operation": {\n "minLength": 1,\n "type": "string"\n },\n "rationale": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "operation",\n "rationale"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "relationships": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "type": {\n "enum": [\n "depends-on",\n "related-to",\n "contradicts"\n ],\n "type": "string"\n },\n "unknown_id": {\n "pattern": "^unk_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "type",\n "unknown_id"\n ],\n "type": "object"\n },\n "type": "array"\n },\n "required_authority": {\n "anyOf": [\n {\n "enum": [\n "shipped-artifact",\n "controlled-replay",\n "historical-reference",\n "external-service",\n "analyst-inference"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "required_confidence": {\n "enum": [\n "observed",\n "derived",\n "inferred"\n ],\n "type": "string"\n },\n "required_environment": {\n "anyOf": [\n {\n "additionalProperties": false,\n "properties": {\n "architecture": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "id": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "isolation": {\n "anyOf": [\n {\n "enum": [\n "none",\n "process",\n "container",\n "virtual-machine"\n ],\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "platform": {\n "anyOf": [\n {\n "minLength": 1,\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "id",\n "platform",\n "architecture",\n "isolation"\n ],\n "type": "object"\n },\n {\n "type": "null"\n }\n ]\n },\n "resolution": {\n "anyOf": [\n {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "disposition": {\n "const": "verified",\n "type": "string"\n },\n "evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "minItems": 1,\n "type": "array"\n },\n "rationale": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "disposition",\n "rationale",\n "evidence_ids"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "disposition": {\n "enum": [\n "withdrawn",\n "out-of-scope"\n ],\n "type": "string"\n },\n "evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "rationale": {\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "disposition",\n "rationale",\n "evidence_ids"\n ],\n "type": "object"\n }\n ]\n },\n {\n "type": "null"\n }\n ]\n },\n "revision": {\n "maximum": 9007199254740991,\n "minimum": 1,\n "type": "integer"\n },\n "revision_digest": {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n "scope_digest": {\n "anyOf": [\n {\n "pattern": "^[a-f0-9]{64}$",\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "severity": {\n "enum": [\n "low",\n "medium",\n "high",\n "critical"\n ],\n "type": "string"\n },\n "status": {\n "enum": [\n "open",\n "investigating",\n "blocked",\n "contradicted",\n "resolved"\n ],\n "type": "string"\n },\n "supporting_evidence_ids": {\n "items": {\n "pattern": "^ev_[a-f0-9]{64}$",\n "type": "string"\n },\n "type": "array"\n },\n "unknown_id": {\n "pattern": "^unk_[a-f0-9]{64}$",\n "type": "string"\n }\n },\n "required": [\n "unknown_id",\n "revision",\n "previous_revision_digest",\n "revision_digest",\n "scope_digest",\n "question",\n "status",\n "severity",\n "domain",\n "supporting_evidence_ids",\n "contradicting_evidence_ids",\n "required_authority",\n "required_confidence",\n "required_environment",\n "recommended_probes",\n "relationships",\n "resolution",\n "mutation_evidence_ids"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "artifacts",\n "providers",\n "environments",\n "scenarios",\n "captures",\n "unknowns",\n "records"\n ],\n "type": "object"\n }\n },\n "required": [\n "result"\n ],\n "type": "object"\n },\n "requiresSession": true,\n "title": "Get Evidence Bundle"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Return the selected document, current address, and containing/current procedure in one provider-neutral result. The result reflects sequential provider observations, not an atomic cursor snapshot; a cursor outside any procedure returns procedure: null.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {}\n ],\n "properties": {\n "document": {\n "description": "Exact provider document or program identity.",\n "minLength": 1,\n "type": "string"\n }\n },\n "type": "object"\n },\n "kind": "session",\n "name": "get_navigation_context",\n "outputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "result": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "document": {\n "type": "string"\n },\n "procedure": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n }\n },\n "required": [\n "document",\n "address",\n "procedure"\n ],\n "type": "object"\n }\n },\n "required": [\n "result"\n ],\n "type": "object"\n },\n "requiresSession": true,\n "title": "Get Navigation Context"\n },\n {\n "analysisOperation": null,\n "annotations": {\n "destructiveHint": false,\n "idempotentHint": true,\n "openWorldHint": false,\n "readOnlyHint": false\n },\n "description": "Inspect one explicit reproducible address for its analyzed name, containing procedure, regular and inline comments, and matching bookmarks. Each unsupported facet returns a typed unavailable outcome; use xrefs, assembly, or pseudocode for those deeper views.",\n "effects": {\n "accessesNetwork": false,\n "changesUiState": false,\n "idempotent": true,\n "launchesProcess": false,\n "mayDiscardData": false,\n "mutatesSession": true,\n "mutatesTarget": false,\n "writesFilesystem": false\n },\n "inputSchema": {\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "examples": [\n {\n "address": "0x1000"\n }\n ],\n "properties": {\n "address": {\n "description": "Value for address.",\n "minLength": 1,\n "type": "string"\n },\n "document": {\n "description": "Exact provider document or program identity.",\n "minLength": 1,\n "type": "string"\n }\n },\n "required": [\n "address"\n ],\n "type": "object"\n },\n "kind": "session",\n "name": "inspect_address_context",\n "outputSchema": {\n "$defs": {\n "__schema0": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "number"\n },\n {\n "type": "boolean"\n },\n {\n "type": "null"\n },\n {\n "items": {\n "$ref": "#/$defs/__schema0"\n },\n "type": "array"\n },\n {\n "additionalProperties": {\n "$ref": "#/$defs/__schema0"\n },\n "propertyNames": {\n "type": "string"\n },\n "type": "object"\n }\n ]\n }\n },\n "$schema": "https://json-schema.org/draft/2020-12/schema",\n "additionalProperties": false,\n "properties": {\n "result": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "bookmarks": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "available",\n "type": "string"\n },\n "value": {\n "items": {\n "additionalProperties": false,\n "properties": {\n "address": {\n "type": "string"\n },\n "name": {\n "type": "string"\n }\n },\n "required": [\n "address",\n "name"\n ],\n "type": "object"\n },\n "type": "array"\n }\n },\n "required": [\n "state",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "type": "string"\n },\n "remediation": {\n "type": "string"\n },\n "state": {\n "const": "unavailable",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason",\n "remediation"\n ],\n "type": "object"\n }\n ]\n },\n "comment": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "available",\n "type": "string"\n },\n "value": {\n "$ref": "#/$defs/__schema0"\n }\n },\n "required": [\n "state",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "type": "string"\n },\n "remediation": {\n "type": "string"\n },\n "state": {\n "const": "unavailable",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason",\n "remediation"\n ],\n "type": "object"\n }\n ]\n },\n "document": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ]\n },\n "inline_comment": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "available",\n "type": "string"\n },\n "value": {\n "$ref": "#/$defs/__schema0"\n }\n },\n "required": [\n "state",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "type": "string"\n },\n "remediation": {\n "type": "string"\n },\n "state": {\n "const": "unavailable",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason",\n "remediation"\n ],\n "type": "object"\n }\n ]\n },\n "name": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "available",\n "type": "string"\n },\n "value": {\n "$ref": "#/$defs/__schema0"\n }\n },\n "required": [\n "state",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "type": "string"\n },\n "remediation": {\n "type": "string"\n },\n "state": {\n "const": "unavailable",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason",\n "remediation"\n ],\n "type": "object"\n }\n ]\n },\n "procedure": {\n "oneOf": [\n {\n "additionalProperties": false,\n "properties": {\n "state": {\n "const": "available",\n "type": "string"\n },\n "value": {\n "$ref": "#/$defs/__schema0"\n }\n },\n "required": [\n "state",\n "value"\n ],\n "type": "object"\n },\n {\n "additionalProperties": false,\n "properties": {\n "reason": {\n "type": "string"\n },\n "remediation": {\n "type": "string"\n },\n "state": {\n "const": "unavailable",\n "type": "string"\n }\n },\n "required": [\n "state",\n "reason",\n "remediation"\n ],\n "type": "object"\n }\n ]\n }\n },\n "required": [\n "address",\n "document",\n "name",\n "procedure",\n "comment",\n "inline_comment",\n "bookmarks"\n ],\n "type": "object"\n }\n },\n "required": [\n "result"\n ],\n "type": "object"\n },\n "requiresSession": true,\n "title": "Inspect Address Context"\n }\n ]\n}'; const generatedPayload: unknown = JSON.parse(GENERATED_PAYLOAD_JSON); if (!isGeneratedPayload(generatedPayload)) throw new TypeError("Generated MCP catalog payload is invalid"); diff --git a/src/ghidra/GhidraResponseBuffer.test.ts b/src/ghidra/GhidraResponseBuffer.test.ts index 931ca6846..ccae6d051 100644 --- a/src/ghidra/GhidraResponseBuffer.test.ts +++ b/src/ghidra/GhidraResponseBuffer.test.ts @@ -3,6 +3,55 @@ import { describe, expect, it } from "vitest"; import { GhidraResponseBuffer } from "./GhidraResponseBuffer.js"; describe("Ghidra response buffer", () => { + it("preserves fragmented lines, whitespace and a trailing partial response", () => { + const lines: string[] = []; + const buffer = new GhidraResponseBuffer({ + onLine: (line) => lines.push(line), + }); + buffer.push(' {"result":"雪'); + buffer.push('🦊"}\r'); + buffer.push('\n\n {"result":2}\n{"res'); + expect(lines).toEqual(['{"result":"雪🦊"}', '{"result":2}']); + buffer.push('ult":3}'); + expect(lines).toHaveLength(2); + buffer.push("\n"); + expect(lines).toEqual([ + '{"result":"雪🦊"}', + '{"result":2}', + '{"result":3}', + ]); + }); + + it("drops both pending fragments and remaining lines when reset during delivery", () => { + const lines: string[] = []; + const buffer = new GhidraResponseBuffer({ + onLine: (line) => { + lines.push(line); + buffer.reset(); + }, + }); + buffer.push("discarded partial"); + buffer.reset(); + buffer.push("first\nsecond\npartial"); + buffer.push("discarded"); + buffer.reset(); + buffer.push("next\n"); + expect(lines).toEqual(["first", "next"]); + }); + + it("accepts a large response arriving in many small socket fragments", () => { + const lines: string[] = []; + const buffer = new GhidraResponseBuffer({ + onLine: (line) => lines.push(line), + }); + const response = `{"result":"${"x".repeat(8 * 1024 * 1024)}"}`; + for (let offset = 0; offset < response.length; offset += 4096) + buffer.push(response.slice(offset, offset + 4096)); + expect(lines).toEqual([]); + buffer.push("\n"); + expect(lines).toEqual([response]); + }); + it("accepts complete responses larger than the former 64 MiB ceiling", () => { const lines: string[] = []; const buffer = new GhidraResponseBuffer({ diff --git a/src/ghidra/GhidraResponseBuffer.ts b/src/ghidra/GhidraResponseBuffer.ts index 6b35a4fc0..1d48c76db 100644 --- a/src/ghidra/GhidraResponseBuffer.ts +++ b/src/ghidra/GhidraResponseBuffer.ts @@ -7,6 +7,7 @@ export interface GhidraResponseBufferOptions { export class GhidraResponseBuffer { readonly #options: GhidraResponseBufferOptions; #buffer = ""; + #fragments: string[] = []; constructor(options: GhidraResponseBufferOptions) { this.#options = options; @@ -14,7 +15,10 @@ export class GhidraResponseBuffer { /** Consume one decoded socket chunk. */ push(chunk: string): void { - this.#buffer += chunk; + this.#fragments.push(chunk); + if (!chunk.includes("\n")) return; + this.#buffer += this.#fragments.join(""); + this.#fragments = []; let newline = this.#buffer.indexOf("\n"); while (newline >= 0) { const encodedLine = this.#buffer.slice(0, newline); @@ -28,5 +32,6 @@ export class GhidraResponseBuffer { /** Drop any incomplete line when a session closes. */ reset(): void { this.#buffer = ""; + this.#fragments = []; } } diff --git a/src/hopper/HopperResponseStream.test.ts b/src/hopper/HopperResponseStream.test.ts index 5b1983a8c..fe3bd7ab6 100644 --- a/src/hopper/HopperResponseStream.test.ts +++ b/src/hopper/HopperResponseStream.test.ts @@ -3,6 +3,80 @@ import { describe, expect, it } from "vitest"; import { HopperResponseStream } from "./HopperResponseStream.js"; describe("Hopper response stream", () => { + it("preserves fragmented messages and drops partial bytes on reset", () => { + const messages: unknown[] = []; + const stream = new HopperResponseStream({ + accept: (message) => { + messages.push(message); + return true; + }, + hasQueued: () => false, + nextRequestId: () => 4, + abort: (message) => { + throw new Error(message); + }, + }); + stream.push("discarded"); + stream.reset(); + stream.push(' {"id":1,"result":"雪'); + stream.push('🦊"}\r'); + stream.push('\n\n{"id":2,"result":null}\n{"id":'); + stream.push('3,"result":true}'); + expect(messages).toEqual([ + { id: 1, result: "雪🦊" }, + { id: 2, result: null }, + ]); + stream.push("\n"); + expect(messages).toEqual([ + { id: 1, result: "雪🦊" }, + { id: 2, result: null }, + { id: 3, result: true }, + ]); + }); + + it("stops delivering queued lines when validation aborts and resets the stream", () => { + const messages: unknown[] = []; + const failures: string[] = []; + const stream = new HopperResponseStream({ + accept: (message) => { + messages.push(message); + return true; + }, + hasQueued: () => false, + nextRequestId: () => 2, + abort: (message) => { + failures.push(message); + stream.reset(); + }, + }); + stream.push('malformed\n{"id":1,"result":true}\n'); + expect(messages).toEqual([]); + expect(failures).toHaveLength(1); + stream.push('{"id":1,"result":false}\n'); + expect(messages).toEqual([{ id: 1, result: false }]); + }); + + it("accepts a large response arriving in many small socket fragments", () => { + const messages: unknown[] = []; + const stream = new HopperResponseStream({ + accept: (message) => { + messages.push(message); + return true; + }, + hasQueued: () => false, + nextRequestId: () => 2, + abort: (message) => { + throw new Error(message); + }, + }); + const response = `{"id":1,"result":"${"x".repeat(8 * 1024 * 1024)}"}`; + for (let offset = 0; offset < response.length; offset += 4096) + stream.push(response.slice(offset, offset + 4096)); + expect(messages).toEqual([]); + stream.push("\n"); + expect(messages).toEqual([JSON.parse(response)]); + }); + it("accepts complete responses larger than the former 10 MiB ceiling", () => { const messages: unknown[] = []; const failures: string[] = []; diff --git a/src/hopper/HopperResponseStream.ts b/src/hopper/HopperResponseStream.ts index c4410580e..0f3c294ea 100644 --- a/src/hopper/HopperResponseStream.ts +++ b/src/hopper/HopperResponseStream.ts @@ -13,11 +13,15 @@ export interface HopperResponseStreamOptions { /** Incrementally validates Hopper NDJSON response frames. */ export class HopperResponseStream { #buffer = ""; + #fragments: string[] = []; constructor(readonly options: HopperResponseStreamOptions) {} push(chunk: string): void { - this.#buffer += chunk; + this.#fragments.push(chunk); + if (!chunk.includes("\n")) return; + this.#buffer += this.#fragments.join(""); + this.#fragments = []; let newline = this.#buffer.indexOf("\n"); while (newline >= 0) { const line = this.#buffer.slice(0, newline).trim(); @@ -29,6 +33,7 @@ export class HopperResponseStream { reset(): void { this.#buffer = ""; + this.#fragments = []; } #acceptLine(line: string): boolean { diff --git a/src/inspector/JavaScriptRuntimeScope.ts b/src/inspector/JavaScriptRuntimeScope.ts index 0b13b7804..4396d7fe5 100644 --- a/src/inspector/JavaScriptRuntimeScope.ts +++ b/src/inspector/JavaScriptRuntimeScope.ts @@ -8,7 +8,7 @@ import type { BrowserExclusionReason } from "../domain/browserCompleteness.js"; import type { JavaScriptRuntimeLocation, JavaScriptRuntimeTargetLocation, -} from "../domain/javascriptRuntimeObservation.js"; +} from "../domain/javascript/javascriptRuntimeObservation.js"; import { authorizedElectronFile } from "../browser/ElectronFileScope.js"; export type RuntimeLocationDecision = diff --git a/src/inspector/V8InspectorCaptureProjection.ts b/src/inspector/V8InspectorCaptureProjection.ts index 663664d90..84d1e00af 100644 --- a/src/inspector/V8InspectorCaptureProjection.ts +++ b/src/inspector/V8InspectorCaptureProjection.ts @@ -5,7 +5,7 @@ import type { JavaScriptRuntimeObservation, JavaScriptRuntimeTargetList, ObserveJavaScriptRuntimeInput, -} from "../domain/javascriptRuntimeObservation.js"; +} from "../domain/javascript/javascriptRuntimeObservation.js"; import { authorizeRuntimeLocation, inspectorExclusionKey, diff --git a/src/inspector/V8InspectorEndpoint.ts b/src/inspector/V8InspectorEndpoint.ts index 384b6e216..24146d469 100644 --- a/src/inspector/V8InspectorEndpoint.ts +++ b/src/inspector/V8InspectorEndpoint.ts @@ -3,7 +3,7 @@ import { z } from "zod"; import type { JavaScriptRuntimeTargetList, JavaScriptRuntimeTargetLocation, -} from "../domain/javascriptRuntimeObservation.js"; +} from "../domain/javascript/javascriptRuntimeObservation.js"; import { BrowserObservationError } from "../domain/browserObservationError.js"; import { type BrowserObservationOperation } from "../domain/browserObservationErrors.js"; import { parseCdpEndpointValue, readCdpJson } from "../browser/CdpEndpoint.js"; diff --git a/src/inspector/V8InspectorProvider.ts b/src/inspector/V8InspectorProvider.ts index 442b0b9f6..01189ec79 100644 --- a/src/inspector/V8InspectorProvider.ts +++ b/src/inspector/V8InspectorProvider.ts @@ -10,7 +10,7 @@ import { type JavaScriptRuntimeTargetList, type ListJavaScriptRuntimeTargetsInput, type ObserveJavaScriptRuntimeInput, -} from "../domain/javascriptRuntimeObservation.js"; +} from "../domain/javascript/javascriptRuntimeObservation.js"; import { AnalysisError } from "../domain/analysisErrorBase.js"; import { BrowserObservationError } from "../domain/browserObservationError.js"; import { ProviderAdapterError } from "../domain/providerAdapterError.js"; diff --git a/src/javascript/recovery/WakaruExecution.ts b/src/javascript/recovery/WakaruExecution.ts index d7b7dda17..ff82b5c47 100644 --- a/src/javascript/recovery/WakaruExecution.ts +++ b/src/javascript/recovery/WakaruExecution.ts @@ -8,7 +8,7 @@ import { AnalysisCapabilityUnavailableError, AnalysisOutputError, } from "../../domain/analysisErrorCore.js"; -import type { JavaScriptRecoveryInput } from "../../domain/javascriptRecovery.js"; +import type { JavaScriptRecoveryInput } from "../../domain/javascript/javascriptRecovery.js"; import { jsonValueSchema } from "../../domain/jsonValue.js"; import { fingerprintRecoveryFile, diff --git a/src/javascript/recovery/WakaruProvider.ts b/src/javascript/recovery/WakaruProvider.ts index 4bf5c31e5..1273b26ed 100644 --- a/src/javascript/recovery/WakaruProvider.ts +++ b/src/javascript/recovery/WakaruProvider.ts @@ -9,7 +9,7 @@ import { import { SafeOutputTree } from "../../artifacts/SafeOutputTree.js"; import { AnalysisError } from "../../domain/analysisErrorBase.js"; import { AnalysisOutputError } from "../../domain/analysisErrorCore.js"; -import type { JavaScriptRecoveryInput } from "../../domain/javascriptRecovery.js"; +import type { JavaScriptRecoveryInput } from "../../domain/javascript/javascriptRecovery.js"; import { ProviderAdapterError } from "../../domain/providerAdapterError.js"; import { ProviderCleanupError } from "../../domain/providerCleanupError.js"; import { err, ok, type Result } from "../../domain/result.js"; diff --git a/src/javascript/recovery/WakaruPublication.ts b/src/javascript/recovery/WakaruPublication.ts index 006b0f80a..40a0586cd 100644 --- a/src/javascript/recovery/WakaruPublication.ts +++ b/src/javascript/recovery/WakaruPublication.ts @@ -6,7 +6,7 @@ import { javascriptRecoveryResultSchema, type JavaScriptRecoveryInput, type JavaScriptRecoveryResult, -} from "../../domain/javascriptRecovery.js"; +} from "../../domain/javascript/javascriptRecovery.js"; import { readRecoveryFile, recoveryDigest } from "./RecoveryFiles.js"; import { recoveryRanges, diff --git a/src/javascript/recovery/WakaruReport.ts b/src/javascript/recovery/WakaruReport.ts index a23fa6a67..ab7f4474b 100644 --- a/src/javascript/recovery/WakaruReport.ts +++ b/src/javascript/recovery/WakaruReport.ts @@ -5,7 +5,7 @@ import { } from "../../artifacts/ArtifactPaths.js"; import { AnalysisOutputError } from "../../domain/analysisErrorCore.js"; import { ProviderAdapterError } from "../../domain/providerAdapterError.js"; -import type { JavaScriptRecoveryResult } from "../../domain/javascriptRecovery.js"; +import type { JavaScriptRecoveryResult } from "../../domain/javascript/javascriptRecovery.js"; import { readRecoveryFile, recoveryFailureMessage } from "./RecoveryFiles.js"; import { RECOVERY_LIMITS } from "./WakaruRelease.js"; import type { runWakaruCommand } from "./WakaruCommand.js"; diff --git a/src/main.ts b/src/main.ts index 5a2009738..4f8c6491a 100644 --- a/src/main.ts +++ b/src/main.ts @@ -81,6 +81,7 @@ export const run = async ( }); createShutdown({ handle: transport.handle, + closeAndroid: transport.closeAndroid, session, unregisterReload, dependencies, diff --git a/src/main/shutdown.ts b/src/main/shutdown.ts index 07767431e..9436b71e5 100644 --- a/src/main/shutdown.ts +++ b/src/main/shutdown.ts @@ -7,6 +7,7 @@ import { MCP_SHUTDOWN_FAILED } from "./messages.js"; export const createShutdown = (input: { readonly handle: StdioServerHandle; + readonly closeAndroid?: () => Promise; readonly session: BinarySession; readonly unregisterReload: () => void; readonly dependencies: RuntimeDependencies; @@ -23,8 +24,13 @@ export const createShutdown = (input: { shutdownPromise ??= (async () => { unregisterReload(); unregisterShutdown(); - await handle.close(); - await session.close({ retainProviderDocuments: true }); + const results = await Promise.allSettled([ + handle.close(), + input.closeAndroid?.(), + session.close({ retainProviderDocuments: true }), + ]); + for (const result of results) + if (result.status === "rejected") throw result.reason; })(); return shutdownPromise; }; diff --git a/src/main/transport.ts b/src/main/transport.ts index e1f821e56..c990d847a 100644 --- a/src/main/transport.ts +++ b/src/main/transport.ts @@ -1,3 +1,5 @@ +import { createAndroidAnalysisProvider } from "../composition/android.js"; +import type { AndroidAnalysisPort } from "../application/android/AndroidAnalysisPort.js"; import type { StdioServerHandle } from "@modelcontextprotocol/server/stdio"; import type { BinarySession } from "../application/binary/BinarySession.js"; @@ -27,6 +29,7 @@ export const startMcpTransport = async ( | { readonly ok: true; readonly handle: StdioServerHandle; + readonly closeAndroid: () => Promise; } | { readonly ok: false } > => { @@ -50,14 +53,27 @@ export const startMcpTransport = async ( "Optional MCP adapter could not load; its peers remain available", ); } + const androidProviders: AndroidAnalysisPort[] = []; + const closeAndroid = async (): Promise => { + const results = await Promise.allSettled( + androidProviders.map((provider) => provider.close()), + ); + for (const result of results) + if (result.status === "rejected") throw result.reason; + }; let handle: StdioServerHandle; try { handle = dependencies.serve( - () => - (dependencies.createServer ?? createServer)(session, session, { + () => { + // The SDK can discard a discovery probe and construct a replacement server. + const android = createAndroidAnalysisProvider(dependencies.env); + androidProviders.push(android); + return (dependencies.createServer ?? createServer)(session, session, { logger: serverContext.logger, ...optionalProviders, - }), + androidAnalysis: android, + }); + }, { onerror: () => { serverLogger.error(MCP_CONNECTION_LOST); @@ -66,7 +82,7 @@ export const startMcpTransport = async ( }, ); } catch (cause: unknown) { - await session.close(); + await Promise.allSettled([session.close(), closeAndroid()]); serverLogger.error( { error: cause instanceof Error ? cause.message : String(cause), @@ -76,5 +92,5 @@ export const startMcpTransport = async ( dependencies.writeStderr(`${MCP_CONNECTION_START_FAILED}\n`); return { ok: false }; } - return { ok: true, handle }; + return { ok: true, handle, closeAndroid }; }; diff --git a/src/native/NativeMacOSProvider.ts b/src/native/NativeMacOSProvider.ts index 78d0b2bb7..7d365151d 100644 --- a/src/native/NativeMacOSProvider.ts +++ b/src/native/NativeMacOSProvider.ts @@ -34,7 +34,10 @@ import { BinaryTargetError } from "../domain/configurationErrors.js"; import { ProviderAdapterError } from "../domain/providerAdapterError.js"; import { AnalysisError } from "../domain/analysisErrorBase.js"; import { jsonValueSchema, type JsonValue } from "../domain/jsonValue.js"; -import { parseXmlPropertyList } from "../domain/propertyListKeys.js"; +import { + omittedPrototypeKeysLimitation, + parseXmlPropertyList, +} from "../domain/propertyListKeys.js"; import { demangleSwiftSchema, inspectPlistSchema, @@ -333,7 +336,14 @@ class NativeMacOSClient implements AnalysisClient { // Entitlements XML is printed to stdout; stderr echoes the path. const entitlementValue = parseEntitlements(entitlements.value.stdout); const captures = [display.value, requirements.value, entitlements.value]; - const limitations = [...parsed.limitations]; + const limitations = [ + ...parsed.limitations, + ...(entitlementValue.omittedPrototypeKeys === 0 + ? [] + : [ + `Entitlements: ${omittedPrototypeKeysLimitation(entitlementValue.omittedPrototypeKeys)}`, + ]), + ]; const mixedSigning = !unsigned && (isNonzeroUnsignedObservation(requirements.value) || @@ -355,7 +365,7 @@ class NativeMacOSClient implements AnalysisClient { const result = inspectSignatureSchema.parse({ ...parsed, designated_requirement: requirementText, - entitlements: entitlementValue, + entitlements: entitlementValue.value, provenance, limitations, }); @@ -640,13 +650,16 @@ const invocation = ( stderr_bytes: capture.stderrBytes, }); -const parseEntitlements = (output: string): JsonValue | null => { +const parseEntitlements = ( + output: string, +): { readonly value: JsonValue; readonly omittedPrototypeKeys: number } => { const start = output.indexOf(""); - if (start < 0 || end < start) return null; - return jsonValueSchema.parse( - parseXmlPropertyList(output.slice(start, end + "".length)).value, + if (start < 0 || end < start) return { value: null, omittedPrototypeKeys: 0 }; + const { value, omittedPrototypeKeys } = parseXmlPropertyList( + output.slice(start, end + "".length), ); + return { value: jsonValueSchema.parse(value), omittedPrototypeKeys }; }; /** diff --git a/src/process/ProviderProcess.ts b/src/process/ProviderProcess.ts index 885b739c6..5847a6cf8 100644 --- a/src/process/ProviderProcess.ts +++ b/src/process/ProviderProcess.ts @@ -254,6 +254,12 @@ export class ProviderProcessSupervisor { }; } + /** Begin a new observation on a retained process without retaining earlier output. */ + resetOutput(): void { + this.#stdout.reset(); + this.#stderr.reset(); + } + /** Wait for process exit up to a caller-owned bounded interval. */ async waitForExit(timeoutMs: number): Promise { return waitForProcessEvent( @@ -403,6 +409,11 @@ class ProcessOutputCapture { return this.#bytes; } + reset(): void { + this.#chunks.length = 0; + this.#bytes = 0; + } + append(chunk: Buffer): void { this.#bytes += chunk.byteLength; this.#chunks.push(Buffer.from(chunk)); diff --git a/src/server/createServer.ts b/src/server/createServer.ts index 4c7dcdb81..588c717c1 100644 --- a/src/server/createServer.ts +++ b/src/server/createServer.ts @@ -159,11 +159,26 @@ export const createServer = ( recordEvidenceWithUnknown, }; registerBinaryAnalysisTools(toolContext); + const android = options.androidAnalysis ?? createAndroidAnalysisProvider(); + const previousOnclose = server.server.onclose; + server.server.onclose = () => { + previousOnclose?.(); + void android.close().catch((cause: unknown) => { + logger.error( + { error: cause instanceof Error ? cause.message : String(cause) }, + "Android provider cleanup failed", + ); + }); + }; + const closeServer = server.close.bind(server); + server.close = async () => { + const results = await Promise.allSettled([closeServer(), android.close()]); + for (const result of results) + if (result.status === "rejected") throw result.reason; + }; registerAndroidTools( server, - new AndroidAnalysisService( - options.androidAnalysis ?? createAndroidAnalysisProvider(), - ), + new AndroidAnalysisService(android), toolLogger, recordEvidence, ); diff --git a/src/server/registerApplicationTools/compareExportShapes.ts b/src/server/registerApplicationTools/compareExportShapes.ts index 55ed01518..606242ef6 100644 --- a/src/server/registerApplicationTools/compareExportShapes.ts +++ b/src/server/registerApplicationTools/compareExportShapes.ts @@ -4,7 +4,7 @@ import type { McpServer } from "@modelcontextprotocol/server"; import { compareJavaScriptExportShapesEvidenceValidated } from "../../application/javascript/JavaScriptApplicationWorkflowService.js"; import { applicationToolContract } from "../../contracts/applicationToolContracts.js"; -import { javaScriptExportShapeComparisonResultSchema } from "../../domain/javascriptExportShapeComparisonSchemas.js"; +import { javaScriptExportShapeComparisonResultSchema } from "../../domain/javascript/javascriptExportShapeComparisonSchemas.js"; import { logToolExecution } from "../toolLogging.js"; import { toolRegistrationOptions } from "../toolRegistrationOptions.js"; import { toCallToolResult } from "../toolResult.js"; diff --git a/src/server/registerApplicationTools/compareSourceToBundle.ts b/src/server/registerApplicationTools/compareSourceToBundle.ts index 090f424de..dc76e5738 100644 --- a/src/server/registerApplicationTools/compareSourceToBundle.ts +++ b/src/server/registerApplicationTools/compareSourceToBundle.ts @@ -4,7 +4,7 @@ import type { McpServer } from "@modelcontextprotocol/server"; import { compareSourceToBundleEvidenceValidated } from "../../application/javascript/JavaScriptApplicationWorkflowService.js"; import { applicationToolContract } from "../../contracts/applicationToolContracts.js"; -import { sourceToBundleComparisonResultSchema } from "../../domain/sourceToBundleComparisonSchemas.js"; +import { sourceToBundleComparisonResultSchema } from "../../domain/javascript/sourceToBundleComparisonSchemas.js"; import { logToolExecution } from "../toolLogging.js"; import { toolRegistrationOptions } from "../toolRegistrationOptions.js"; import { toCallToolResult } from "../toolResult.js"; diff --git a/src/server/registerApplicationTools/compareVersions.ts b/src/server/registerApplicationTools/compareVersions.ts index a5f28c2c4..b529d9a91 100644 --- a/src/server/registerApplicationTools/compareVersions.ts +++ b/src/server/registerApplicationTools/compareVersions.ts @@ -4,7 +4,7 @@ import type { McpServer } from "@modelcontextprotocol/server"; import { compareApplicationVersionsEvidenceValidated } from "../../application/javascript/JavaScriptApplicationWorkflowService.js"; import { applicationToolContract } from "../../contracts/applicationToolContracts.js"; -import { applicationVersionComparisonResultSchema } from "../../domain/javascriptApplicationVersionComparisonSchemas.js"; +import { applicationVersionComparisonResultSchema } from "../../domain/javascript/javascriptApplicationVersionComparisonSchemas.js"; import { logToolExecution } from "../toolLogging.js"; import { toolRegistrationOptions } from "../toolRegistrationOptions.js"; import { toCallToolResult } from "../toolResult.js"; diff --git a/src/server/registerElectronTools.ts b/src/server/registerElectronTools.ts index 028a3fe1c..c7766feb7 100644 --- a/src/server/registerElectronTools.ts +++ b/src/server/registerElectronTools.ts @@ -20,7 +20,7 @@ import { toolContract, type ToolContract } from "../contracts/toolContracts.js"; import type { AnalysisError } from "../domain/analysisErrorBase.js"; import type { Evidence } from "../domain/evidence.js"; import type { Result } from "../domain/result.js"; -import { inspectElectronPageInputSchema } from "../domain/electronObservation.js"; +import { inspectElectronPageInputSchema } from "../domain/javascript/electronObservation.js"; import type { Logger } from "../logger.js"; import { mcpProgressReporter } from "./mcpProgress.js"; import { logToolExecution } from "./toolLogging.js"; diff --git a/src/server/registerJavaScriptRuntimeObservationTools.ts b/src/server/registerJavaScriptRuntimeObservationTools.ts index 50d1a1162..6581ce75b 100644 --- a/src/server/registerJavaScriptRuntimeObservationTools.ts +++ b/src/server/registerJavaScriptRuntimeObservationTools.ts @@ -15,7 +15,7 @@ import { toolContract, type ToolContract } from "../contracts/toolContracts.js"; import type { AnalysisError } from "../domain/analysisErrorBase.js"; import type { Evidence } from "../domain/evidence.js"; import type { Result } from "../domain/result.js"; -import { observeJavaScriptRuntimeInputSchema } from "../domain/javascriptRuntimeObservation.js"; +import { observeJavaScriptRuntimeInputSchema } from "../domain/javascript/javascriptRuntimeObservation.js"; import type { Logger } from "../logger.js"; import { logToolExecution } from "./toolLogging.js"; import { toolRegistrationOptions } from "./toolRegistrationOptions.js"; diff --git a/tests/acceptance/applications/applicationEvidenceMcp.test.ts b/tests/acceptance/applications/applicationEvidenceMcp.test.ts index ce3859a40..3fdba32f4 100644 --- a/tests/acceptance/applications/applicationEvidenceMcp.test.ts +++ b/tests/acceptance/applications/applicationEvidenceMcp.test.ts @@ -9,7 +9,7 @@ import { JAVASCRIPT_FEATURE_TRACE_EXAMPLE, JAVASCRIPT_VERSION_COMPARISON_FULL_EVIDENCE_EXAMPLE, SOURCE_TO_BUNDLE_COMPARISON_EXAMPLE, -} from "../../../src/contracts/javascriptApplicationWorkflowExamples.js"; +} from "../../../src/contracts/javascript/javascriptApplicationWorkflowExamples.js"; import { createEvidence } from "../../../src/domain/evidence.js"; import { observed } from "../../fixtures/analysisExecution.js"; diff --git a/tests/acceptance/applications/applicationExportShapeMcp.test.ts b/tests/acceptance/applications/applicationExportShapeMcp.test.ts index a6ab45518..c104c8012 100644 --- a/tests/acceptance/applications/applicationExportShapeMcp.test.ts +++ b/tests/acceptance/applications/applicationExportShapeMcp.test.ts @@ -9,7 +9,7 @@ import { createTestBinarySession } from "../../fixtures/binarySession.js"; import { createServer } from "../../../src/server/createServer.js"; import { observed } from "../../fixtures/analysisExecution.js"; import { analyzeJavaScriptApplication } from "../../../src/application/javascript/JavaScriptApplicationService.js"; -import { javascriptApplicationAnalysisResultSchema } from "../../../src/domain/javascriptApplicationAnalysis.js"; +import { javascriptApplicationAnalysisResultSchema } from "../../../src/domain/javascript/javascriptApplicationAnalysis.js"; describe("application workflow MCP parity", () => { it("compares exact parser export shapes with inline Evidence", async () => { diff --git a/tests/acceptance/applications/applicationWorkflowCli.test.ts b/tests/acceptance/applications/applicationWorkflowCli.test.ts index 5845fe97e..56bee2d95 100644 --- a/tests/acceptance/applications/applicationWorkflowCli.test.ts +++ b/tests/acceptance/applications/applicationWorkflowCli.test.ts @@ -11,9 +11,9 @@ import { JAVASCRIPT_FEATURE_TRACE_FULL_EVIDENCE_EXAMPLE, JAVASCRIPT_VERSION_COMPARISON_FULL_EVIDENCE_EXAMPLE, SOURCE_TO_BUNDLE_COMPARISON_EXAMPLE, -} from "../../../src/contracts/javascriptApplicationWorkflowExamples.js"; +} from "../../../src/contracts/javascript/javascriptApplicationWorkflowExamples.js"; import { analyzeJavaScriptApplication } from "../../../src/application/javascript/JavaScriptApplicationService.js"; -import { javascriptApplicationAnalysisResultSchema } from "../../../src/domain/javascriptApplicationAnalysis.js"; +import { javascriptApplicationAnalysisResultSchema } from "../../../src/domain/javascript/javascriptApplicationAnalysis.js"; const execute = promisify(execFile); const temporary: string[] = []; diff --git a/tests/acceptance/applications/javascriptApplicationWorkflows.test.ts b/tests/acceptance/applications/javascriptApplicationWorkflows.test.ts index 08135fc44..c3f72a195 100644 --- a/tests/acceptance/applications/javascriptApplicationWorkflows.test.ts +++ b/tests/acceptance/applications/javascriptApplicationWorkflows.test.ts @@ -5,7 +5,7 @@ import { afterEach, describe, expect, it } from "vitest"; import { createTestTempDirectory } from "../../fixtures/temporaryDirectory.js"; -import { compareApplicationVersionsRequestSchema } from "../../../src/contracts/applicationWorkflowInputContracts.js"; +import { compareApplicationVersionsRequestSchema } from "../../../src/contracts/javascript/applicationWorkflowInputContracts.js"; import { analyzeJavaScriptApplication } from "../../../src/application/javascript/JavaScriptApplicationService.js"; import { compareApplicationVersionsEvidence, @@ -15,23 +15,23 @@ import { reconcileJavaScriptRuntimeEvidence } from "../../../src/application/jav import { createEvidence } from "../../../src/domain/evidence.js"; import { AnalysisInputError } from "../../../src/domain/analysisErrorCore.js"; import { jsonValueSchema } from "../../../src/domain/jsonValue.js"; -import { javascriptApplicationAnalysisResultSchema } from "../../../src/domain/javascriptApplicationAnalysis.js"; +import { javascriptApplicationAnalysisResultSchema } from "../../../src/domain/javascript/javascriptApplicationAnalysis.js"; import { applicationVersionComparisonResultSchema, type ApplicationVersionComparisonResult, -} from "../../../src/domain/javascriptApplicationVersionComparisonSchemas.js"; -import { javascriptRuntimeReconciliationResultSchema } from "../../../src/domain/javascriptRuntimeReconciliationSchemas.js"; -import { compareJavaScriptApplicationVersions } from "../../../src/domain/javascriptApplicationVersionComparison.js"; -import { createJavaScriptApplicationGraph } from "../../../src/domain/javascriptApplicationGraph.js"; -import { traceApplicationFeature } from "../../../src/domain/javascriptFeatureTrace.js"; -import { applicationFeatureTraceResultSchema } from "../../../src/domain/javascriptFeatureTraceSchemas.js"; +} from "../../../src/domain/javascript/javascriptApplicationVersionComparisonSchemas.js"; +import { javascriptRuntimeReconciliationResultSchema } from "../../../src/domain/javascript/javascriptRuntimeReconciliationSchemas.js"; +import { compareJavaScriptApplicationVersions } from "../../../src/domain/javascript/javascriptApplicationVersionComparison.js"; +import { createJavaScriptApplicationGraph } from "../../../src/domain/javascript/javascriptApplicationGraph.js"; +import { traceApplicationFeature } from "../../../src/domain/javascript/javascriptFeatureTrace.js"; +import { applicationFeatureTraceResultSchema } from "../../../src/domain/javascript/javascriptFeatureTraceSchemas.js"; import { APPLICATION_GRAPH_DIGESTS, buildSyntheticJavaScriptApplicationGraph, -} from "../../../src/domain/javascriptApplicationGraph.fixture.js"; +} from "../../../src/domain/javascript/javascriptApplicationGraph.fixture.js"; import { writeVersionedJavaScriptApplicationFixtures } from "../../fixtures/javascriptArtifactApplication.js"; import { JAVASCRIPT_APPLICATION_PROVIDER } from "../../../src/application/InvestigationProviders.js"; -import { JAVASCRIPT_RUNTIME_RECONCILIATION_EXAMPLE } from "../../../src/contracts/javascriptRuntimeReconciliationExample.js"; +import { JAVASCRIPT_RUNTIME_RECONCILIATION_EXAMPLE } from "../../../src/contracts/javascript/javascriptRuntimeReconciliationExample.js"; const temporary: string[] = []; diff --git a/tests/acceptance/applications/javascriptBuiltinDefaultsCli.test.ts b/tests/acceptance/applications/javascriptBuiltinDefaultsCli.test.ts index ad8890f53..729a504fc 100644 --- a/tests/acceptance/applications/javascriptBuiltinDefaultsCli.test.ts +++ b/tests/acceptance/applications/javascriptBuiltinDefaultsCli.test.ts @@ -6,7 +6,7 @@ import { promisify } from "node:util"; import { expect, it } from "vitest"; import { parseEvidence } from "../../../src/domain/evidence.js"; -import { javascriptApplicationAnalysisResultSchema } from "../../../src/domain/javascriptApplicationAnalysis.js"; +import { javascriptApplicationAnalysisResultSchema } from "../../../src/domain/javascript/javascriptApplicationAnalysis.js"; import { createTestTempDirectory } from "../../fixtures/temporaryDirectory.js"; const execute = promisify(execFile); diff --git a/tests/acceptance/applications/javascriptFunctionNameCli.test.ts b/tests/acceptance/applications/javascriptFunctionNameCli.test.ts index 5f688f0ed..9887373c0 100644 --- a/tests/acceptance/applications/javascriptFunctionNameCli.test.ts +++ b/tests/acceptance/applications/javascriptFunctionNameCli.test.ts @@ -6,7 +6,7 @@ import { promisify } from "node:util"; import { expect, it } from "vitest"; import { parseEvidence } from "../../../src/domain/evidence.js"; -import { javascriptApplicationAnalysisResultSchema } from "../../../src/domain/javascriptApplicationAnalysis.js"; +import { javascriptApplicationAnalysisResultSchema } from "../../../src/domain/javascript/javascriptApplicationAnalysis.js"; import { createTestTempDirectory } from "../../fixtures/temporaryDirectory.js"; const execute = promisify(execFile); diff --git a/tests/boundary/android/jadxConfiguration.test.ts b/tests/boundary/android/jadxConfiguration.test.ts index 5be5e1b9b..127919fa2 100644 --- a/tests/boundary/android/jadxConfiguration.test.ts +++ b/tests/boundary/android/jadxConfiguration.test.ts @@ -40,5 +40,43 @@ it("accepts a verified explicit java binary and canonicalizes the JAR", async () { REA_JADX_MCP_JAR: jar, JAVA_HOME: javaHome }, "inspect_android_package", ), - ).resolves.toEqual({ jar: await realpath(jar), java }); + ).resolves.toEqual({ jar: await realpath(jar), java, jvmArguments: [] }); +}); + +it("configures heap and visible processors independently without forcing either", async () => { + const root = await createTestTempDirectory("rea-jadx-config-"); + const jar = join(root, "engine.jar"); + await writeFile(jar, "fixture jar"); + const configuration = await resolveJadxConfiguration( + { + REA_JADX_MCP_JAR: jar, + REA_JADX_HEAP_MIB: "8192", + REA_JADX_ACTIVE_PROCESSOR_COUNT: "4", + }, + "inspect_android_package", + ); + expect(configuration.jvmArguments).toEqual([ + "-Xmx8192m", + "-XX:ActiveProcessorCount=4", + ]); + await expect( + resolveJadxConfiguration( + { REA_JADX_MCP_JAR: jar, REA_JADX_ACTIVE_PROCESSOR_COUNT: "2147483648" }, + "inspect_android_package", + ), + ).rejects.toMatchObject({ + _tag: "AnalysisCapabilityUnavailableError", + reason: expect.stringContaining("32-bit"), + }); + for (const name of ["REA_JADX_HEAP_MIB", "REA_JADX_ACTIVE_PROCESSOR_COUNT"]) + for (const value of ["", "0", "-1", "1.5", "8g", " 4", "9007199254740992"]) + await expect( + resolveJadxConfiguration( + { REA_JADX_MCP_JAR: jar, [name]: value }, + "inspect_android_package", + ), + ).rejects.toMatchObject({ + _tag: "AnalysisCapabilityUnavailableError", + reason: expect.stringContaining(name), + }); }); diff --git a/tests/boundary/android/jadxIntegration.test.ts b/tests/boundary/android/jadxIntegration.test.ts index f2e4aaa71..10b25cd57 100644 --- a/tests/boundary/android/jadxIntegration.test.ts +++ b/tests/boundary/android/jadxIntegration.test.ts @@ -1,9 +1,14 @@ -import { expect, it as test } from "vitest"; +import { expect, it as test, vi } from "vitest"; import { access, readFile, writeFile } from "node:fs/promises"; import { parseBinaryTarget } from "../../../src/application/BinaryTargetResolver.js"; import { AndroidAnalysisService } from "../../../src/application/android/AndroidAnalysisService.js"; import { JadxProvider } from "../../../src/android/JadxProvider.js"; import { androidResultSchemas } from "../../../src/domain/android/androidAnalysis.js"; +import { + hashAndroidFile, + snapshotAndroidEngine, +} from "../../../src/android/AndroidTargetSnapshot.js"; +import { PrivateRuntimeRoot } from "../../../src/process/PrivateRuntimeRoot.js"; import { createJadxProtocolFixture as setup, verifyJadxFixtureCleanup as verifyCleanup, @@ -11,6 +16,182 @@ import { const it = test.skipIf(process.platform === "win32"); +it("rejects a copied JAR that differs from its admitted session identity", async () => { + const { jar } = await setup(); + const admitted = await hashAndroidFile(jar); + await writeFile(jar, "engine changed between hashing and copying"); + const root = await PrivateRuntimeRoot.create({ + prefix: "rea-jadx-admission-", + }); + try { + await expect( + snapshotAndroidEngine( + jar, + admitted, + root.path, + "inspect_android_package", + ), + ).rejects.toMatchObject({ + _tag: "AnalysisCapabilityUnavailableError", + reason: expect.stringContaining("bytes changed"), + }); + } finally { + await root.close(); + } +}); + +it("reuses immutable engine state while keeping each Evidence observation separate", async () => { + const { service, apk, launches, provider } = await setup(); + const first = await service.execute("inspect_android_package", { path: apk }); + if (!first.ok) throw first.error; + const preserved = JSON.stringify(first.value); + const second = await service.execute("inspect_android_class", { + path: apk, + class_name: "fixture.Target", + }); + if (!second.ok) throw second.error; + expect(launches).toHaveLength(1); + expect(JSON.stringify(first.value)).toBe(preserved); + expect(second.value.raw_result).toMatchObject({ + loaded: { class_count: 401 }, + calls: [ + expect.objectContaining({ operation: "rea_jvm_status" }), + expect.objectContaining({ operation: "get_class_summary" }), + ], + }); + expect( + androidResultSchemas.inspect_android_class.parse( + second.value.normalized_result, + ).engine.heap_limit_mib, + ).toBe(8192); + await provider.close(); + await verifyCleanup(launches); +}); + +it("bounds output per operation across a retained session rather than accumulating earlier captures", async () => { + const { service, apk, launches, provider } = await setup("large-manifest"); + for (let index = 0; index < 34; index += 1) { + const result = await service.execute("inspect_android_package", { + path: apk, + }); + if (!result.ok) throw result.error; + expect( + androidResultSchemas.inspect_android_package.parse( + result.value.normalized_result, + ).manifest.text.length, + ).toBe(1024 * 1024); + } + expect(launches).toHaveLength(1); + await provider.close(); + await verifyCleanup(launches); +}); + +it("retire sessions when APK bytes, engine bytes or JVM options change", async () => { + const { service, apk, jar, launches, provider, environment } = await setup(); + const inspect = async () => { + const result = await service.execute("inspect_android_package", { + path: apk, + }); + if (!result.ok) throw result.error; + return result.value; + }; + const first = await inspect(); + await writeFile( + apk, + Buffer.concat([await readFile(apk), Buffer.from("new artifact bytes")]), + ); + const changed = await inspect(); + expect(changed.subject?.digest.sha256).not.toBe(first.subject?.digest.sha256); + await verifyCleanup(launches.slice(0, 1)); + await writeFile(jar, "new engine bytes"); + await inspect(); + environment.JAVA_TOOL_OPTIONS = "-Xmx8g"; + environment._JAVA_OPTIONS = "-XX:+UseG1GC"; + await inspect(); + expect(launches).toHaveLength(4); + expect(launches[3]).toMatchObject({ + javaToolOptions: "-Xmx8g", + legacyJavaOptions: "-XX:+UseG1GC", + }); + expect(launches[3]?.arguments).not.toContain("-Xmx512m"); + expect(launches[3]?.arguments).not.toContain("-XX:ActiveProcessorCount=1"); + await provider.close(); + await verifyCleanup(launches); +}); + +it("retires an idle engine and starts a fresh one for a later request", async () => { + const { service, apk, launches, provider } = await setup(); + vi.useFakeTimers({ toFake: ["setTimeout", "clearTimeout"] }); + try { + const first = await service.execute("inspect_android_package", { + path: apk, + }); + if (!first.ok) throw first.error; + vi.advanceTimersByTime(60_000); + } finally { + vi.useRealTimers(); + } + await expect + .poll(async () => { + try { + await verifyCleanup(launches); + return true; + } catch { + return false; + } + }) + .toBe(true); + const later = await service.execute("inspect_android_package", { path: apk }); + if (!later.ok) throw later.error; + expect(launches).toHaveLength(2); + await provider.close(); + await verifyCleanup(launches); +}); + +it("completes large class inventories with exact case-sensitive search semantics", async () => { + const { service, apk, provider } = await setup("large-inventory"); + const full = await service.execute("search_android_classes", { + path: apk, + query: "", + }); + if (!full.ok) throw full.error; + const inventory = androidResultSchemas.search_android_classes.parse( + full.value.normalized_result, + ); + expect(inventory.matches).toHaveLength(9001); + expect(inventory.matches.at(-1)).toBe("fixture.Class8999"); + const mixedCase = await service.execute("search_android_classes", { + path: apk, + query: "target", + }); + if (!mixedCase.ok) throw mixedCase.error; + expect( + androidResultSchemas.search_android_classes.parse( + mixedCase.value.normalized_result, + ).matches, + ).toEqual([]); + await provider.close(); +}); + +it("close cancels active and queued work and prevents later acquisition", async () => { + const { service, apk, launches, provider } = await setup("stall"); + const active = service.execute("inspect_android_package", { path: apk }); + await expect.poll(() => launches.length).toBe(1); + const queued = service.execute("inspect_android_package", { path: apk }); + await provider.close(); + for (const result of [ + await active, + await queued, + await service.execute("inspect_android_package", { path: apk }), + ]) + expect(result).toMatchObject({ + ok: false, + error: { _tag: "AnalysisCancelledError" }, + }); + expect(launches).toHaveLength(1); + await verifyCleanup(launches); +}); + it("does not carry a factory instance's cleanup failure into another instance", async () => { const failed = await setup("cleanup-failure"); const healthy = await setup(); @@ -25,11 +206,12 @@ it("does not carry a factory instance's cleanup failure into another instance", path: healthy.apk, }); expect(result.ok).toBe(true); + await healthy.provider.close(); await verifyCleanup(healthy.launches); }); it("retains APK identity, original input, raw producer data and normalized observations", async () => { - const { service, apk, launches } = await setup(); + const { service, apk, launches, provider } = await setup(); const outcome = await service.execute("inspect_android_package", { path: apk, }); @@ -47,11 +229,12 @@ it("retains APK identity, original input, raw producer data and normalized obser expect.objectContaining({ operation: "get_android_manifest" }), ]), }); + await provider.close(); await verifyCleanup(launches); }); it("fetches all class pages rather than silently retaining the first upstream page", async () => { - const { service, apk, launches } = await setup(); + const { service, apk, launches, provider } = await setup(); const outcome = await service.execute("search_android_classes", { path: apk, query: "", @@ -63,11 +246,12 @@ it("fetches all class pages rather than silently retaining the first upstream pa expect(result.total_classes).toBe(401); expect(result.matches).toHaveLength(401); expect(result.matches.at(-1)).toBe("fixture.Class399"); + await provider.close(); await verifyCleanup(launches); }); it("exposes overload candidates and executes only an explicitly selected ambiguous method", async () => { - const { service, apk, launches } = await setup(); + const { service, apk, launches, provider } = await setup(); const input = { path: apk, class_name: "fixture.Target", @@ -105,9 +289,10 @@ it("exposes overload candidates and executes only an explicitly selected ambiguo ok: false, error: { _tag: "AnalysisCapabilityUnavailableError", - reason: expect.stringContaining("first same-name"), + reason: expect.stringContaining("unique method name"), }, }); + await provider.close(); await verifyCleanup(launches); }); @@ -121,7 +306,7 @@ it.each([ ])( "rejects producer failure %s rather than claiming complete analysis", async (mode) => { - const { service, apk, launches } = await setup(mode); + const { service, apk, launches, provider } = await setup(mode); const operation = mode === "wrong-apk" ? "inspect_android_package" @@ -142,13 +327,14 @@ it.each([ ok: false, error: { _tag: "AnalysisOutputError" }, }); + await provider.close(); await verifyCleanup(launches); }, ); it("rejects fuzzy class resolution and unsupported upstream versions", async () => { - for (const mode of ["wrong-class", "version"]) { - const { service, apk, launches } = await setup(mode); + for (const mode of ["wrong-class", "version", "engine-version"]) { + const { service, apk, launches, provider } = await setup(mode); const outcome = await service.execute("inspect_android_class", { path: apk, class_name: "fixture.Target", @@ -157,11 +343,12 @@ it("rejects fuzzy class resolution and unsupported upstream versions", async () ok: false, error: { _tag: - mode === "version" + mode === "version" || mode === "engine-version" ? "AnalysisCapabilityUnavailableError" : "AnalysisInputError", }, }); + await provider.close(); await verifyCleanup(launches); } }); @@ -169,7 +356,7 @@ it("rejects fuzzy class resolution and unsupported upstream versions", async () it.each(["truncated", "smali"])( "retains %s source coverage instead of presenting it as successful complete Java", async (mode) => { - const { service, apk, launches } = await setup(mode); + const { service, apk, launches, provider } = await setup(mode); const outcome = await service.execute("inspect_android_method", { path: apk, class_name: "fixture.Target", @@ -186,12 +373,13 @@ it.each(["truncated", "smali"])( if (mode === "truncated") expect(result.source.reported_total_bytes).toBe(100); else expect(result.fell_back).toBe(true); + await provider.close(); await verifyCleanup(launches); }, ); it("cancels active and queued requests, cleans ownership and never launches a queued cancelled request", async () => { - const { service, apk, launches } = await setup("stall"); + const { service, apk, launches, provider } = await setup("stall"); const activeController = new AbortController(); const active = service.execute( "inspect_android_package", @@ -216,6 +404,7 @@ it("cancels active and queued requests, cleans ownership and never launches a qu ok: false, error: { _tag: "AnalysisCancelledError" }, }); + await provider.close(); await verifyCleanup(launches); }); @@ -240,7 +429,7 @@ it("reports missing explicit tools without trying to install or launch them", as it.each(["tool-error", "frame-overflow"])( "preserves the actual failed provider constraint for %s", async (mode) => { - const { service, apk, launches } = await setup(mode); + const { service, apk, launches, provider } = await setup(mode); const outcome = await service.execute("inspect_android_package", { path: apk, }); @@ -257,6 +446,7 @@ it.each(["tool-error", "frame-overflow"])( _tag: "AnalysisOutputError", reason: expect.stringContaining("MCP frame exceeds"), }); + await provider.close(); await verifyCleanup(launches); }, ); @@ -287,7 +477,7 @@ it("rejects bytes changed after target admission without launching an engine", a }); it("retains an uncertain workspace and blocks later launches after cleanup cannot be verified", async () => { - const { service, apk, launches } = await setup("cleanup-failure"); + const { service, apk, launches, provider } = await setup("cleanup-failure"); const outcome = await service.execute("inspect_android_package", { path: apk, }); @@ -305,7 +495,7 @@ it("retains an uncertain workspace and blocks later launches after cleanup canno }); it("does not attribute upstream smali containing all overloads to the selected method", async () => { - const { service, apk, launches } = await setup("overloaded-smali"); + const { service, apk, launches, provider } = await setup("overloaded-smali"); const outcome = await service.execute("inspect_android_method", { path: apk, class_name: "fixture.Target", @@ -319,11 +509,12 @@ it("does not attribute upstream smali containing all overloads to the selected m reason: expect.stringContaining("joins all same-name overloads"), }, }); + await provider.close(); await verifyCleanup(launches); }); it("reports missing native/abstract method source without claiming an empty implementation", async () => { - const { service, apk, launches } = await setup("no-body"); + const { service, apk, launches, provider } = await setup("no-body"); const outcome = await service.execute("inspect_android_method", { path: apk, class_name: "fixture.Target", @@ -335,5 +526,6 @@ it("reports missing native/abstract method source without claiming an empty impl ); expect(result.body_status).toBe("not_available"); expect(result.source.text).toContain("no decompiled body"); + await provider.close(); await verifyCleanup(launches); }); diff --git a/tests/boundary/browser/cdpCleanupCancellation.test.ts b/tests/boundary/browser/cdpCleanupCancellation.test.ts index d7102ddaf..e9508297b 100644 --- a/tests/boundary/browser/cdpCleanupCancellation.test.ts +++ b/tests/boundary/browser/cdpCleanupCancellation.test.ts @@ -7,7 +7,7 @@ import { expect, it, onTestFinished, vi } from "vitest"; import { CdpBrowserProvider } from "../../../src/browser/CdpBrowserProvider.js"; import { CdpElectronProvider } from "../../../src/browser/CdpElectronProvider.js"; import { observeWebSessionInputSchema } from "../../../src/domain/browserSession.js"; -import { inspectElectronPageInputSchema } from "../../../src/domain/electronObservation.js"; +import { inspectElectronPageInputSchema } from "../../../src/domain/javascript/electronObservation.js"; import { createTestTempDirectory } from "../../fixtures/temporaryDirectory.js"; import { startFakeCdpBrowser } from "../../fixtures/fakeCdpBrowser.js"; diff --git a/tests/boundary/browser/cdpElectronProvider.test.ts b/tests/boundary/browser/cdpElectronProvider.test.ts index 0218df2ba..b15ffaa43 100644 --- a/tests/boundary/browser/cdpElectronProvider.test.ts +++ b/tests/boundary/browser/cdpElectronProvider.test.ts @@ -10,7 +10,7 @@ import { CdpElectronProvider } from "../../../src/browser/CdpElectronProvider.js import { inspectElectronPageInputSchema, listElectronTargetsInputSchema, -} from "../../../src/domain/electronObservation.js"; +} from "../../../src/domain/javascript/electronObservation.js"; import { startFakeCdpBrowser, type FakeCdpBrowser, diff --git a/tests/boundary/cli/electronCli.test.ts b/tests/boundary/cli/electronCli.test.ts index 8f0307264..3e1e06ac4 100644 --- a/tests/boundary/cli/electronCli.test.ts +++ b/tests/boundary/cli/electronCli.test.ts @@ -13,7 +13,7 @@ import { type FakeCdpBrowser, } from "../../fixtures/fakeCdpBrowser.js"; import { writeElectronBoundaryFixture } from "../../fixtures/electronBoundaryApplication.js"; -import { JAVASCRIPT_RUNTIME_RECONCILIATION_EXAMPLE } from "../../../src/contracts/javascriptRuntimeReconciliationExample.js"; +import { JAVASCRIPT_RUNTIME_RECONCILIATION_EXAMPLE } from "../../../src/contracts/javascript/javascriptRuntimeReconciliationExample.js"; const execute = promisify(execFile); const INTEGRATION_TEST_TIMEOUT_MS = 20_000; diff --git a/tests/boundary/cli/javascriptRuntimeObservationCli.test.ts b/tests/boundary/cli/javascriptRuntimeObservationCli.test.ts index aecde2412..0ce317f65 100644 --- a/tests/boundary/cli/javascriptRuntimeObservationCli.test.ts +++ b/tests/boundary/cli/javascriptRuntimeObservationCli.test.ts @@ -8,7 +8,7 @@ import { afterEach, describe, expect, test } from "vitest"; import { observeJavaScriptRuntime } from "../../../src/application/javascript/JavaScriptRuntimeObservationService.js"; import { V8InspectorProvider } from "../../../src/inspector/V8InspectorProvider.js"; -import { observeJavaScriptRuntimeInputSchema } from "../../../src/domain/javascriptRuntimeObservation.js"; +import { observeJavaScriptRuntimeInputSchema } from "../../../src/domain/javascript/javascriptRuntimeObservation.js"; import { startFakeV8Inspector } from "../../fixtures/inspector/fakeV8Inspector.js"; import { createTestTempDirectory } from "../../fixtures/temporaryDirectory.js"; diff --git a/tests/boundary/filesystem/interfaceBuilderBundle.test.ts b/tests/boundary/filesystem/interfaceBuilderBundle.test.ts index 77c8ef7aa..01e14f262 100644 --- a/tests/boundary/filesystem/interfaceBuilderBundle.test.ts +++ b/tests/boundary/filesystem/interfaceBuilderBundle.test.ts @@ -111,6 +111,34 @@ describe("bounded Interface Builder archive decoding", () => { expect(result.graph.truncated).toBe(true); }); + it("marks archive decoding partial when __proto__ entries are omitted", async () => { + const root = await createTestTempDirectory("rea-ib-test-"); + const bundle = join(root, "Example.app"); + const resources = join(bundle, "Contents", "Resources"); + await mkdir(resources, { recursive: true }); + await writeFile( + join(resources, "Prototype.nib"), + '$archiverNSKeyedArchiver__proto__hidden$objects$null$top', + ); + + const result = await analyzeInterfaceBuilderBundle({ + bundlePath: bundle, + targetSha256: "f".repeat(64), + }); + + expect(result.graph.coverage).toContainEqual( + expect.objectContaining({ + facet: "archive_decode", + status: "partial", + reason: "dictionary_entries_omitted", + }), + ); + expect(result.graph.truncated).toBe(true); + expect(result.limitations).toContain( + "Contents/Resources/Prototype.nib: 1 dictionary entry keyed __proto__ was omitted because REA results cannot represent that key.", + ); + }); + it.skipIf(process.platform !== "darwin" || !existsSync("/usr/bin/ibtool"))( "decodes an Xcode-compiled storyboard NIB and recovers its UI routes", async () => { diff --git a/tests/boundary/filesystem/javascriptExportContainerCoverage.test.ts b/tests/boundary/filesystem/javascriptExportContainerCoverage.test.ts index b75454554..660eaa38c 100644 --- a/tests/boundary/filesystem/javascriptExportContainerCoverage.test.ts +++ b/tests/boundary/filesystem/javascriptExportContainerCoverage.test.ts @@ -9,7 +9,7 @@ import { parseEvidence } from "../../../src/domain/evidence.js"; import { javaScriptExportShapeComparisonResultSchema, projectedExportReturnShapesSchema, -} from "../../../src/domain/javascriptExportShapeComparisonSchemas.js"; +} from "../../../src/domain/javascript/javascriptExportShapeComparisonSchemas.js"; import { createTestTempDirectory } from "../../fixtures/temporaryDirectory.js"; import { writeFixtureFiles } from "../../support/javascriptApplicationFixture.js"; diff --git a/tests/boundary/filesystem/javascriptExportShapeComparison.test.ts b/tests/boundary/filesystem/javascriptExportShapeComparison.test.ts index 8188c9f49..aab5fb66b 100644 --- a/tests/boundary/filesystem/javascriptExportShapeComparison.test.ts +++ b/tests/boundary/filesystem/javascriptExportShapeComparison.test.ts @@ -7,12 +7,12 @@ import { createTestTempDirectory } from "../../fixtures/temporaryDirectory.js"; import { analyzeJavaScriptApplication } from "../../../src/application/javascript/JavaScriptApplicationService.js"; import { parseApplicationGraphEvidence } from "../../../src/application/javascript/JavaScriptApplicationEvidenceGraph.js"; -import { compareJavaScriptExportShapes } from "../../../src/domain/javascriptExportShapeComparison.js"; -import { javaScriptExportShapeComparisonResultSchema } from "../../../src/domain/javascriptExportShapeComparisonSchemas.js"; +import { compareJavaScriptExportShapes } from "../../../src/domain/javascript/javascriptExportShapeComparison.js"; +import { javaScriptExportShapeComparisonResultSchema } from "../../../src/domain/javascript/javascriptExportShapeComparisonSchemas.js"; import { createJavaScriptApplicationGraph, createJavaScriptApplicationNode, -} from "../../../src/domain/javascriptApplicationGraph.js"; +} from "../../../src/domain/javascript/javascriptApplicationGraph.js"; describe("JavaScript export return-shape comparison", () => { it("reports exactly the heading depth addition from source-owned parser fixtures", async () => { diff --git a/tests/boundary/filesystem/javascriptRequireLiteralPaths.test.ts b/tests/boundary/filesystem/javascriptRequireLiteralPaths.test.ts index d38ea9ef7..eccc05883 100644 --- a/tests/boundary/filesystem/javascriptRequireLiteralPaths.test.ts +++ b/tests/boundary/filesystem/javascriptRequireLiteralPaths.test.ts @@ -6,7 +6,7 @@ import { describe, expect, it } from "vitest"; import { analyzeJavaScriptApplication } from "../../../src/application/javascript/JavaScriptApplicationService.js"; import { parseApplicationGraphEvidence } from "../../../src/application/javascript/JavaScriptApplicationEvidenceGraph.js"; -import { javascriptApplicationAnalysisResultSchema } from "../../../src/domain/javascriptApplicationAnalysis.js"; +import { javascriptApplicationAnalysisResultSchema } from "../../../src/domain/javascript/javascriptApplicationAnalysis.js"; import { createTestTempDirectory } from "../../fixtures/temporaryDirectory.js"; const analyze = async (root: string) => { diff --git a/tests/boundary/filesystem/sourceToBundlePaths.test.ts b/tests/boundary/filesystem/sourceToBundlePaths.test.ts index c8d860519..fffd7bf05 100644 --- a/tests/boundary/filesystem/sourceToBundlePaths.test.ts +++ b/tests/boundary/filesystem/sourceToBundlePaths.test.ts @@ -5,7 +5,7 @@ import { expect, it } from "vitest"; import { analyzeJavaScriptApplication } from "../../../src/application/javascript/JavaScriptApplicationService.js"; import { parseApplicationGraphEvidence } from "../../../src/application/javascript/JavaScriptApplicationEvidenceGraph.js"; import { importReferenceSource } from "../../../src/application/ReferenceSourceImport.js"; -import { compareSourceToBundle } from "../../../src/domain/sourceToBundleComparison.js"; +import { compareSourceToBundle } from "../../../src/domain/javascript/sourceToBundleComparison.js"; import { createTestTempDirectory } from "../../fixtures/temporaryDirectory.js"; it("keeps literal hash characters in historical/current filesystem paths", async () => { diff --git a/tests/boundary/filesystem/webScriptExport.test.ts b/tests/boundary/filesystem/webScriptExport.test.ts index 37299a351..2ae9062f8 100644 --- a/tests/boundary/filesystem/webScriptExport.test.ts +++ b/tests/boundary/filesystem/webScriptExport.test.ts @@ -14,7 +14,7 @@ import { analyzeJavaScriptApplication } from "../../../src/application/javascrip import { exportWebScripts } from "../../../src/application/WebScriptExportService.js"; import { publishWebScripts } from "../../../src/browser/assets/PublishWebScripts.js"; import { selectScriptCapture } from "../../../src/browser/assets/ScriptCaptureAdapters.js"; -import { javascriptApplicationAnalysisResultSchema } from "../../../src/domain/javascriptApplicationAnalysis.js"; +import { javascriptApplicationAnalysisResultSchema } from "../../../src/domain/javascript/javascriptApplicationAnalysis.js"; import { webScriptExportResultSchema } from "../../../src/domain/webScriptExport.js"; import { createTestTempDirectory } from "../../fixtures/temporaryDirectory.js"; import { diff --git a/tests/boundary/inspector/javascriptRuntimeObservation.test.ts b/tests/boundary/inspector/javascriptRuntimeObservation.test.ts index 9b597b48f..ed43e6d1e 100644 --- a/tests/boundary/inspector/javascriptRuntimeObservation.test.ts +++ b/tests/boundary/inspector/javascriptRuntimeObservation.test.ts @@ -12,13 +12,13 @@ import { import { reconcileJavaScriptRuntimeEvidence } from "../../../src/application/javascript/JavaScriptRuntimeReconciliationService.js"; import { V8_INSPECTOR_PROVIDER_IDENTITY } from "../../../src/inspector/V8InspectorProvider.js"; import { V8InspectorProvider } from "../../../src/inspector/V8InspectorProvider.js"; -import { JAVASCRIPT_RUNTIME_RECONCILIATION_EXAMPLE } from "../../../src/contracts/javascriptRuntimeReconciliationExample.js"; +import { JAVASCRIPT_RUNTIME_RECONCILIATION_EXAMPLE } from "../../../src/contracts/javascript/javascriptRuntimeReconciliationExample.js"; import type { JavaScriptRuntimeObservation, ObserveJavaScriptRuntimeInput, -} from "../../../src/domain/javascriptRuntimeObservation.js"; -import { observeJavaScriptRuntimeInputSchema } from "../../../src/domain/javascriptRuntimeObservation.js"; -import { javascriptRuntimeReconciliationResultSchema } from "../../../src/domain/javascriptRuntimeReconciliationSchemas.js"; +} from "../../../src/domain/javascript/javascriptRuntimeObservation.js"; +import { observeJavaScriptRuntimeInputSchema } from "../../../src/domain/javascript/javascriptRuntimeObservation.js"; +import { javascriptRuntimeReconciliationResultSchema } from "../../../src/domain/javascript/javascriptRuntimeReconciliationSchemas.js"; import { startFakeV8Inspector } from "../../fixtures/inspector/fakeV8Inspector.js"; import { createTestTempDirectory } from "../../fixtures/temporaryDirectory.js"; diff --git a/tests/boundary/inspector/javascriptRuntimeUnresolvedTarget.test.ts b/tests/boundary/inspector/javascriptRuntimeUnresolvedTarget.test.ts index 22a942853..e08027d4f 100644 --- a/tests/boundary/inspector/javascriptRuntimeUnresolvedTarget.test.ts +++ b/tests/boundary/inspector/javascriptRuntimeUnresolvedTarget.test.ts @@ -7,7 +7,7 @@ import { expect, test } from "vitest"; import { analyzeJavaScriptApplication } from "../../../src/application/javascript/JavaScriptApplicationService.js"; import { createJavaScriptRuntimeObservationEvidence } from "../../../src/application/javascript/JavaScriptRuntimeObservationEvidence.js"; import { V8InspectorProvider } from "../../../src/inspector/V8InspectorProvider.js"; -import { reconcileJavaScriptRuntime } from "../../../src/domain/javascriptRuntimeReconciliation.js"; +import { reconcileJavaScriptRuntime } from "../../../src/domain/javascript/javascriptRuntimeReconciliation.js"; import { startFakeV8Inspector } from "../../fixtures/inspector/fakeV8Inspector.js"; import { createTestTempDirectory } from "../../fixtures/temporaryDirectory.js"; diff --git a/tests/boundary/javascript-recovery/wakaruIntegration.test.ts b/tests/boundary/javascript-recovery/wakaruIntegration.test.ts index 29ce3b648..8acb6ecaa 100644 --- a/tests/boundary/javascript-recovery/wakaruIntegration.test.ts +++ b/tests/boundary/javascript-recovery/wakaruIntegration.test.ts @@ -1,7 +1,7 @@ import { access, mkdir, readFile, writeFile } from "node:fs/promises"; import { join } from "node:path"; import { describe, expect, it } from "vitest"; -import { javascriptRecoveryResultSchema } from "../../../src/domain/javascriptRecovery.js"; +import { javascriptRecoveryResultSchema } from "../../../src/domain/javascript/javascriptRecovery.js"; import { parseEvidence } from "../../../src/domain/evidence.js"; import { projectAnalysisError } from "../../../src/domain/analysisErrorProjection.js"; import { diff --git a/tests/boundary/mcp/androidAnalysisMcp.test.ts b/tests/boundary/mcp/androidAnalysisMcp.test.ts index 3058a9546..55e335335 100644 --- a/tests/boundary/mcp/androidAnalysisMcp.test.ts +++ b/tests/boundary/mcp/androidAnalysisMcp.test.ts @@ -4,6 +4,11 @@ import { access } from "node:fs/promises"; import { ANDROID_TOOL_CONTRACTS } from "../../../src/contracts/android/androidToolContracts.js"; import { parseEvidence } from "../../../src/domain/evidence.js"; import { createServer } from "../../../src/server/createServer.js"; +import { startMcpTransport } from "../../../src/main/transport.js"; +import type { RuntimeDependencies } from "../../../src/main/types.js"; +import type { AndroidAnalysisPort } from "../../../src/application/android/AndroidAnalysisPort.js"; +import { silentLogger } from "../../../src/logger.js"; +import { parseBinaryTarget } from "../../../src/application/BinaryTargetResolver.js"; import { createTestBinarySession } from "../../fixtures/binarySession.js"; import { createJadxProtocolFixture, @@ -12,6 +17,61 @@ import { const it = test.skipIf(process.platform === "win32"); +it("keeps a replacement server usable after the SDK discards its discovery probe", async () => { + const { apk } = await createJadxProtocolFixture(); + const session = createTestBinarySession(() => { + throw new Error("Unexpected deep provider"); + }); + const factories: Parameters[0][] = []; + const providers: AndroidAnalysisPort[] = []; + const runtime: RuntimeDependencies = { + env: {}, + serve: (factory) => { + factories.push(factory); + return { close: async () => undefined }; + }, + createServer: (analysis, binary, options) => { + if (options?.androidAnalysis === undefined) + throw new Error("Expected owned Android provider"); + providers.push(options.androidAnalysis); + return createServer(analysis, binary, options); + }, + writeStderr: () => undefined, + setExitCode: () => undefined, + registerShutdown: () => () => undefined, + }; + const transport = await startMcpTransport(runtime, session, { + logger: silentLogger, + serverLogger: silentLogger, + loadOptionalProviders: async () => ({}), + }); + if (!transport.ok) throw new Error("Transport failed"); + const factory = factories[0]; + if (factory === undefined) throw new Error("Missing SDK server factory"); + const probe = await factory({ era: "modern" }); + await probe.close(); + const replacement = await factory({ era: "legacy" }); + const provider = providers[1]; + if (provider === undefined) throw new Error("Missing replacement provider"); + const target = await parseBinaryTarget(apk); + if (!target.ok) throw target.error; + try { + expect( + await provider.execute(target.value, { + operation: "inspect_android_package", + input: { path: apk }, + }), + ).toMatchObject({ + ok: false, + error: { _tag: "AnalysisCapabilityUnavailableError" }, + }); + } finally { + await replacement.close(); + await transport.closeAndroid(); + await session.close(); + } +}); + it("publishes and executes all APK contracts with inline Evidence and no active binary", async () => { const { provider, apk, launches } = await createJadxProtocolFixture(); const session = createTestBinarySession(() => { @@ -67,7 +127,9 @@ it("publishes and executes all APK contracts with inline Evidence and no active expect(evidence.operation).toBe(contract.name); expect(evidence.raw_result).not.toBeNull(); } - expect(launches).toHaveLength(5); + expect(launches).toHaveLength(1); + await client.close(); + await server.close(); await verifyJadxFixtureCleanup(launches); }); diff --git a/tests/boundary/mcp/browserMcp.test.ts b/tests/boundary/mcp/browserMcp.test.ts index fb0d59e6d..21e615e62 100644 --- a/tests/boundary/mcp/browserMcp.test.ts +++ b/tests/boundary/mcp/browserMcp.test.ts @@ -4,7 +4,7 @@ import { z } from "zod"; import { createTestBinarySession } from "../../fixtures/binarySession.js"; import { CdpBrowserProvider } from "../../../src/browser/CdpBrowserProvider.js"; -import { JAVASCRIPT_RUNTIME_RECONCILIATION_EXAMPLE } from "../../../src/contracts/javascriptRuntimeReconciliationExample.js"; +import { JAVASCRIPT_RUNTIME_RECONCILIATION_EXAMPLE } from "../../../src/contracts/javascript/javascriptRuntimeReconciliationExample.js"; import { TOOL_CONTRACTS } from "../../../src/contracts/toolContracts.js"; import { createServer } from "../../../src/server/createServer.js"; import { observed } from "../../fixtures/analysisExecution.js"; diff --git a/tests/boundary/mcp/electronMcp.test.ts b/tests/boundary/mcp/electronMcp.test.ts index ebbb66be1..72d8892ed 100644 --- a/tests/boundary/mcp/electronMcp.test.ts +++ b/tests/boundary/mcp/electronMcp.test.ts @@ -18,7 +18,7 @@ import { type FakeCdpBrowser, } from "../../fixtures/fakeCdpBrowser.js"; import { writeElectronBoundaryFixture } from "../../fixtures/electronBoundaryApplication.js"; -import { createElectronActiveObservationFixtureResult } from "../../../src/domain/electronActiveObservation.fixture.js"; +import { createElectronActiveObservationFixtureResult } from "../../../src/domain/javascript/electronActiveObservation.fixture.js"; const browsers: FakeCdpBrowser[] = []; const resources: Array<{ close(): Promise }> = []; diff --git a/tests/boundary/mcp/javascriptRuntimeObservationMcp.test.ts b/tests/boundary/mcp/javascriptRuntimeObservationMcp.test.ts index 36e72f8ed..c5d1d34fa 100644 --- a/tests/boundary/mcp/javascriptRuntimeObservationMcp.test.ts +++ b/tests/boundary/mcp/javascriptRuntimeObservationMcp.test.ts @@ -12,7 +12,7 @@ import { javascriptRuntimeObservationSchema, javascriptRuntimeTargetListSchema, observeJavaScriptRuntimeInputSchema, -} from "../../../src/domain/javascriptRuntimeObservation.js"; +} from "../../../src/domain/javascript/javascriptRuntimeObservation.js"; import { createServer } from "../../../src/server/createServer.js"; import { observed } from "../../fixtures/analysisExecution.js"; import { startFakeV8Inspector } from "../../fixtures/inspector/fakeV8Inspector.js"; diff --git a/tests/boundary/mcp/retainedApplicationEvidenceMcp.test.ts b/tests/boundary/mcp/retainedApplicationEvidenceMcp.test.ts index c29983003..304bc9b14 100644 --- a/tests/boundary/mcp/retainedApplicationEvidenceMcp.test.ts +++ b/tests/boundary/mcp/retainedApplicationEvidenceMcp.test.ts @@ -8,7 +8,7 @@ import { JAVASCRIPT_APPLICATION_VERSION_COMPARISON_EXAMPLE, JAVASCRIPT_EXPORT_SHAPE_COMPARISON_EXAMPLE, SOURCE_TO_BUNDLE_COMPARISON_EXAMPLE, -} from "../../../src/contracts/javascriptApplicationWorkflowExamples.js"; +} from "../../../src/contracts/javascript/javascriptApplicationWorkflowExamples.js"; import { createEvidence, parseEvidence } from "../../../src/domain/evidence.js"; const resources: Array<{ close(): Promise }> = []; diff --git a/tests/boundary/mcp/shutdown.test.ts b/tests/boundary/mcp/shutdown.test.ts index 4465d7120..82ce3bdf1 100644 --- a/tests/boundary/mcp/shutdown.test.ts +++ b/tests/boundary/mcp/shutdown.test.ts @@ -12,6 +12,7 @@ it("keeps shutdown output stable while logging the rejected cause at debug level const output: string[] = []; const exitCodes: number[] = []; const requests: Array<() => void> = []; + let androidClosed = false; const failure = Object.assign( new TypeError("fixture transport close failed"), { @@ -36,6 +37,9 @@ it("keeps shutdown output stable while logging the rejected cause at debug level const logger = pino({ level: "debug" }, { write: (line) => logs.push(line) }); createShutdown({ handle, + closeAndroid: async () => { + androidClosed = true; + }, session: createManagedBinarySession(), unregisterReload: () => undefined, dependencies, @@ -46,6 +50,7 @@ it("keeps shutdown output stable while logging the rejected cause at debug level await new Promise((resolve) => setImmediate(resolve)); expect(exitCodes).toEqual([1]); + expect(androidClosed).toBe(true); expect(output).toEqual([`${MCP_SHUTDOWN_FAILED}\n`]); expect(logs.map((line) => JSON.parse(line))).toContainEqual( expect.objectContaining({ diff --git a/tests/boundary/process/javascriptRuntimeReconciliationAmbiguity.test.ts b/tests/boundary/process/javascriptRuntimeReconciliationAmbiguity.test.ts index 38c78a587..7d61829ae 100644 --- a/tests/boundary/process/javascriptRuntimeReconciliationAmbiguity.test.ts +++ b/tests/boundary/process/javascriptRuntimeReconciliationAmbiguity.test.ts @@ -9,8 +9,8 @@ import { createTestTempDirectory } from "../../fixtures/temporaryDirectory.js"; import { createElectronEvidence } from "../../../src/application/javascript/ElectronEvidence.js"; import { analyzeJavaScriptApplication } from "../../../src/application/javascript/JavaScriptApplicationService.js"; -import { reconcileJavaScriptRuntime } from "../../../src/domain/javascriptRuntimeReconciliation.js"; -import { inspectElectronPageInputSchema } from "../../../src/domain/electronObservation.js"; +import { reconcileJavaScriptRuntime } from "../../../src/domain/javascript/javascriptRuntimeReconciliation.js"; +import { inspectElectronPageInputSchema } from "../../../src/domain/javascript/electronObservation.js"; import { createWebTextArtifact } from "../../../src/domain/webContentArtifact.js"; const SOURCE = `const worker = new Worker("./worker.js");\nexport const observed = worker;\n`; diff --git a/tests/boundary/providers/native/nativeProvider.test.ts b/tests/boundary/providers/native/nativeProvider.test.ts index 53027135a..fd265d048 100644 --- a/tests/boundary/providers/native/nativeProvider.test.ts +++ b/tests/boundary/providers/native/nativeProvider.test.ts @@ -278,6 +278,41 @@ describe("native macOS provider inspection", () => { }); }); +/** Emit entitlements whose dictionary also holds a legal `__proto__` key. */ +class PrototypeEntitlementsRunner extends FixtureRunner { + override async run(tool: string, arguments_: readonly string[]) { + const result = await super.run(tool, arguments_); + if (!result.ok || !arguments_.includes("--entitlements")) return result; + const stdout = + 'com.apple.security.app-sandbox__proto__com.apple.security.get-task-allow'; + return ok({ + ...result.value, + stdout, + stdoutBytes: Buffer.byteLength(stdout), + }); + } +} + +describe("native signature entitlements", () => { + it("reports entitlement entries keyed __proto__ that the result omits", async () => { + const client = new NativeMacOSProvider( + new PrototypeEntitlementsRunner(), + "darwin", + ).createClient(machoTarget("/private/fixture")); + + const signature = await client.execute("inspect_signature", {}); + + expect(signature.ok).toBe(true); + if (!signature.ok) return; + expect(signature.value.result).toMatchObject({ + entitlements: { "com.apple.security.app-sandbox": true }, + }); + expect(signature.value.limitations).toContain( + "Entitlements: 1 dictionary entry keyed __proto__ was omitted because REA results cannot represent that key.", + ); + }); +}); + describe("native dispatch metadata error results", () => { it("preserves tagged cancellation and integrity failures", async () => { directory = await createTestTempDirectory("rea-dispatch-errors-"); diff --git a/tests/composition/analysis-sessions/managedApplicationGraph.test.ts b/tests/composition/analysis-sessions/managedApplicationGraph.test.ts index 80edb5b9a..0607fea21 100644 --- a/tests/composition/analysis-sessions/managedApplicationGraph.test.ts +++ b/tests/composition/analysis-sessions/managedApplicationGraph.test.ts @@ -6,7 +6,7 @@ import { MANAGED_APPLICATION_GRAPH_EXAMPLE } from "../../../src/contracts/manage import { traceApplicationFeatureEvidence } from "../../../src/application/javascript/JavaScriptApplicationWorkflowService.js"; import { MANAGED_STATIC_PROVIDER } from "../../../src/application/InvestigationProviders.js"; import { createEvidence, parseEvidence } from "../../../src/domain/evidence.js"; -import { parseJavaScriptApplicationGraph } from "../../../src/domain/javascriptApplicationGraph.js"; +import { parseJavaScriptApplicationGraph } from "../../../src/domain/javascript/javascriptApplicationGraph.js"; import { managedApplicationGraphResultSchema } from "../../../src/domain/managedApplicationGraph.js"; import { inspectManagedArtifactBytes } from "../../../src/dotnet/ManagedArtifactInspector.js"; import { inspectManagedMembersBytes } from "../../../src/dotnet/ManagedMemberInspector.js"; diff --git a/tests/composition/javascript-applications/electronApplicationAnalysis.test.ts b/tests/composition/javascript-applications/electronApplicationAnalysis.test.ts index ac86261cf..3484f98a2 100644 --- a/tests/composition/javascript-applications/electronApplicationAnalysis.test.ts +++ b/tests/composition/javascript-applications/electronApplicationAnalysis.test.ts @@ -8,8 +8,8 @@ import { createTestTempDirectory } from "../../fixtures/temporaryDirectory.js"; import { analyzeJavaScriptApplication } from "../../../src/application/javascript/JavaScriptApplicationService.js"; import { reconstructJavaScriptArtifact } from "../../../src/application/javascript/JavaScriptArtifactReconstruction.js"; import { parseEvidence } from "../../../src/domain/evidence.js"; -import { parseJavaScriptApplicationGraph } from "../../../src/domain/javascriptApplicationGraph.js"; -import { analyzeJavaScriptApplicationInputSchema } from "../../../src/domain/javascriptApplicationAnalysis.js"; +import { parseJavaScriptApplicationGraph } from "../../../src/domain/javascript/javascriptApplicationGraph.js"; +import { analyzeJavaScriptApplicationInputSchema } from "../../../src/domain/javascript/javascriptApplicationAnalysis.js"; import { writeElectronBoundaryFixture } from "../../fixtures/electronBoundaryApplication.js"; describe("static Electron application analysis", () => { diff --git a/tests/composition/javascript-applications/javascriptArtifactReconstruction.test.ts b/tests/composition/javascript-applications/javascriptArtifactReconstruction.test.ts index 0bd98d6f5..d4d60e83b 100644 --- a/tests/composition/javascript-applications/javascriptArtifactReconstruction.test.ts +++ b/tests/composition/javascript-applications/javascriptArtifactReconstruction.test.ts @@ -8,10 +8,10 @@ import { createTestTempDirectory } from "../../fixtures/temporaryDirectory.js"; import { reconstructJavaScriptArtifact } from "../../../src/application/javascript/JavaScriptArtifactReconstruction.js"; import { scanArtifactInventory } from "../../../src/application/ArtifactInventory.js"; -import { parseJavaScriptApplicationGraph } from "../../../src/domain/javascriptApplicationGraph.js"; -import { javascriptApplicationAnalysisResultSchema } from "../../../src/domain/javascriptApplicationAnalysis.js"; -import { createJavaScriptSemanticGraph } from "../../../src/domain/javascriptSemanticGraph.js"; -import { parseJavaScriptSemanticGraph } from "../../../src/domain/javascriptSemanticGraphSerialization.js"; +import { parseJavaScriptApplicationGraph } from "../../../src/domain/javascript/javascriptApplicationGraph.js"; +import { javascriptApplicationAnalysisResultSchema } from "../../../src/domain/javascript/javascriptApplicationAnalysis.js"; +import { createJavaScriptSemanticGraph } from "../../../src/domain/javascript/javascriptSemanticGraph.js"; +import { parseJavaScriptSemanticGraph } from "../../../src/domain/javascript/javascriptSemanticGraphSerialization.js"; import { writeJavaScriptArtifactFixture } from "../../fixtures/javascriptArtifactApplication.js"; it("reconstructs package, Electron roles, Webpack/Rspack modules, and cross-layer facts without execution", async () => { diff --git a/tests/composition/runtime-observation/javascriptRuntimeReconciliation.test.ts b/tests/composition/runtime-observation/javascriptRuntimeReconciliation.test.ts index b0d1e1591..a66c3240b 100644 --- a/tests/composition/runtime-observation/javascriptRuntimeReconciliation.test.ts +++ b/tests/composition/runtime-observation/javascriptRuntimeReconciliation.test.ts @@ -8,12 +8,12 @@ import { createTestTempDirectory } from "../../fixtures/temporaryDirectory.js"; import { createElectronEvidence } from "../../../src/application/javascript/ElectronEvidence.js"; import { createElectronActiveEvidence } from "../../../src/application/javascript/ElectronActiveEvidence.js"; import { analyzeJavaScriptApplication } from "../../../src/application/javascript/JavaScriptApplicationService.js"; -import { reconcileJavaScriptRuntime } from "../../../src/domain/javascriptRuntimeReconciliation.js"; -import { javascriptRuntimeReconciliationResultSchema } from "../../../src/domain/javascriptRuntimeReconciliationSchemas.js"; -import { electronActiveObservationInputSchema } from "../../../src/domain/electronActiveObservation.js"; -import { inspectElectronPageInputSchema } from "../../../src/domain/electronObservation.js"; +import { reconcileJavaScriptRuntime } from "../../../src/domain/javascript/javascriptRuntimeReconciliation.js"; +import { javascriptRuntimeReconciliationResultSchema } from "../../../src/domain/javascript/javascriptRuntimeReconciliationSchemas.js"; +import { electronActiveObservationInputSchema } from "../../../src/domain/javascript/electronActiveObservation.js"; +import { inspectElectronPageInputSchema } from "../../../src/domain/javascript/electronObservation.js"; import { createWebTextArtifact } from "../../../src/domain/webContentArtifact.js"; -import { createElectronActiveObservationFixtureResult } from "../../../src/domain/electronActiveObservation.fixture.js"; +import { createElectronActiveObservationFixtureResult } from "../../../src/domain/javascript/electronActiveObservation.fixture.js"; const SOURCE = `const worker = new Worker("./worker.js");\nexport const observed = worker;\n`; diff --git a/tests/conformance/android/ReaJadxMetadataRegression.java b/tests/conformance/android/ReaJadxMetadataRegression.java new file mode 100644 index 000000000..852bee5fd --- /dev/null +++ b/tests/conformance/android/ReaJadxMetadataRegression.java @@ -0,0 +1,97 @@ +import com.atxx.jhmcp.*; +import com.google.gson.*; +import io.modelcontextprotocol.kotlin.sdk.types.CallToolResult; +import io.modelcontextprotocol.kotlin.sdk.types.TextContent; +import jadx.api.*; +import jadx.core.dex.nodes.*; +import java.lang.reflect.*; +import java.util.*; +import kotlin.coroutines.EmptyCoroutineContext; +import kotlinx.coroutines.BuildersKt; + +/** Real audited-JAR regression; synthetic protocol fixtures cannot prove absence of code generation. */ +public class ReaJadxMetadataRegression { + private static void require(boolean condition, String reason) { + if (!condition) throw new AssertionError(reason); + } + + private static JsonObject call(Method handle, Object bridge, String operation, JsonObject arguments) + throws Exception { + var input = (kotlinx.serialization.json.JsonObject) + kotlinx.serialization.json.Json.Default.parseToJsonElement(arguments.toString()); + CallToolResult response; + try { + response = (CallToolResult) handle.invoke(bridge, operation, input); + } catch (InvocationTargetException failure) { + throw new AssertionError(operation + " failed", failure.getCause()); + } + require(!Boolean.TRUE.equals(response.isError()), operation + " returned an error"); + require(response.getContent().size() == 1 && response.getContent().get(0) instanceof TextContent, + "Unsupported response envelope"); + return JsonParser.parseString(((TextContent) response.getContent().get(0)).getText()).getAsJsonObject(); + } + + private static JsonObject arguments(String className) { + JsonObject value = new JsonObject(); + value.addProperty("class_name", className); + return value; + } + + public static void main(String[] args) throws Exception { + SessionConfig config = new SessionConfig(1048576, 0, 90000L, 1, List.of(), List.of(), 64, ResourceMode.FULL); + SessionHolder holder = new SessionHolder(config); + try { + BuildersKt.runBlocking(EmptyCoroutineContext.INSTANCE, + (scope, continuation) -> holder.load(args[0], config, continuation)); + JadxSession session = holder.current(); + require(session != null && !session.getClasses().isEmpty(), "Fixture did not load classes"); + JadxDecompiler decompiler = session.getClasses().get(0).getClassNode().root().getDecompiler(); + IdentityHashMap states = new IdentityHashMap<>(); + for (ClassNode node : decompiler.getRoot().getClasses()) { + require(node.getState() == ProcessState.NOT_LOADED, "Fixture unexpectedly generated source"); + states.put(node, node.getState()); + } + Class bridgeType = Class.forName("ReaJadxBridge"); + Constructor constructor = bridgeType.getDeclaredConstructor(SessionHolder.class); + constructor.setAccessible(true); + Object bridge = constructor.newInstance(holder); + Method handle = bridgeType.getDeclaredMethod("handle", String.class, kotlinx.serialization.json.JsonObject.class); + handle.setAccessible(true); + JsonObject apiArgs = arguments("io.appium.android.apis.ApiDemos"); + JsonObject apiSummary = call(handle, bridge, "get_class_summary", apiArgs); + for (var entry : states.entrySet()) require(entry.getKey().getState() == entry.getValue(), + "Metadata generated source: " + entry.getKey().getRawName()); + require(states.size() == decompiler.getRoot().getClasses().size(), "Metadata changed class inventory"); + require(apiSummary.getAsJsonArray("fields").get(0).getAsJsonObject().get("type").getAsString().contains("Comparator"), + "Generic field type was truncated"); + JsonObject componentArgs = arguments("androidx.activity.ComponentActivity"); + JsonObject componentSummary = call(handle, bridge, "get_class_summary", componentArgs); + List signatures = new ArrayList<>(); + for (JsonElement entry : componentSummary.getAsJsonArray("methods")) { + JsonObject method = entry.getAsJsonObject(); + if (method.get("name").getAsString().equals("setContentView")) + signatures.add(method.get("signature").getAsString()); + } + require(signatures.size() == 3, "Fixture must contain three setContentView overloads"); + String[] declarations = { "setContentView(int ", "setContentView(View ", "setContentView(View view, ViewGroup.LayoutParams " }; + for (int index = 0; index < signatures.size(); index++) { + JsonObject methodArgs = arguments("androidx.activity.ComponentActivity"); + methodArgs.addProperty("method_name", "setContentView"); + methodArgs.addProperty("overload_index", index); + JsonObject first = call(handle, bridge, "get_method_body", methodArgs); + require(first.equals(call(handle, bridge, "get_method_body", methodArgs)), "Repeated body changed"); + require(first.get("overload_index").getAsInt() == index && first.get("overload_count").getAsInt() == 3, + "Overload envelope mismatch"); + require(first.get("mode").getAsString().equals("java"), "Fixture did not produce Java"); + require(first.get("body").getAsString().contains(declarations[index]), "Wrong overload: " + signatures.get(index)); + } + require(componentSummary.equals(call(handle, bridge, "get_class_summary", componentArgs)), + "Frozen summary changed after code generation"); + require(apiSummary.equals(call(handle, bridge, "get_class_summary", apiArgs)), "Unrelated frozen summary changed"); + System.out.println("METADATA_REGRESSION_PASS classes=" + states.size() + " overloads=" + signatures.size()); + } finally { + BuildersKt.runBlocking(EmptyCoroutineContext.INSTANCE, + (scope, continuation) -> holder.unload(continuation)); + } + } +} diff --git a/tests/fixtures/android/jadx-mcp.mjs b/tests/fixtures/android/jadx-mcp.mjs index beab6e1fe..1ab39e866 100644 --- a/tests/fixtures/android/jadx-mcp.mjs +++ b/tests/fixtures/android/jadx-mcp.mjs @@ -6,12 +6,15 @@ import { z } from "zod"; // It is a protocol fixture, not evidence of JADX decompiler support. const mode = process.env.REA_FAKE_JADX_MODE ?? "normal"; const server = new McpServer({ - name: "jadx-headless-mcp", - version: mode === "version" ? "99.0.0" : "0.7.1", + name: "rea-jadx-bridge", + version: mode === "version" ? "99.0.0" : "1", }); const classes = [ "fixture.Target", - ...Array.from({ length: 400 }, (_, index) => `fixture.Class${index}`), + ...Array.from( + { length: mode === "large-inventory" ? 9000 : 400 }, + (_, index) => `fixture.Class${index}`, + ), ]; const methods = [ { @@ -37,6 +40,15 @@ const text = (value) => ({ content: [{ type: "text", text: value }] }); const json = (value) => text(JSON.stringify(value)); const register = (name, handler) => server.registerTool(name, { inputSchema: z.looseObject({}) }, handler); +register("rea_jvm_status", () => + json({ + engine_reported_version: mode === "engine-version" ? "0.7.0" : "0.7.1", + max_heap_bytes: 8 * 1024 * 1024 * 1024, + available_processors: 4, + java_version: "21-fixture", + metadata_scope: "parsed_members", + }), +); register("load_apk", async ({ path }) => { if (mode === "stall") await new Promise(() => {}); return json({ @@ -59,12 +71,13 @@ register("get_app_info", () => }), ); register("get_android_manifest", () => { - if (mode === "tool-error") + if (mode === "tool-error" || mode === "cleanup-failure") return { ...text("manifest decoder rejected malformed binary XML"), isError: true, }; if (mode === "frame-overflow") return text("x".repeat(9 * 1024 * 1024)); + if (mode === "large-manifest") return text("x".repeat(1024 * 1024)); return text(''); }); register("list_classes", ({ offset, limit }) => diff --git a/tests/fixtures/android/jadx.ts b/tests/fixtures/android/jadx.ts index a9924666a..bc6a1850d 100644 --- a/tests/fixtures/android/jadx.ts +++ b/tests/fixtures/android/jadx.ts @@ -25,9 +25,16 @@ export const createJadxProtocolFixture = async (mode = "normal") => { runId: string; cwd: string | undefined; pid: number | undefined; + arguments: readonly string[] | undefined; + javaToolOptions: string | undefined; + legacyJavaOptions: string | undefined; }[] = []; + const environment: NodeJS.ProcessEnv = { + ...process.env, + REA_JADX_MCP_JAR: jar, + }; const provider = createAndroidAnalysisProvider( - { ...process.env, REA_JADX_MCP_JAR: jar }, + environment, async (options) => { const spawned = await spawnOwnedProviderProcess({ ...options, @@ -40,6 +47,10 @@ export const createJadxProtocolFixture = async (mode = "normal") => { runId: options.runId, cwd: options.cwd, pid: spawned.process.pid, + arguments: options.arguments, + javaToolOptions: options.hostEnvironment?.JAVA_TOOL_OPTIONS, + legacyJavaOptions: + options.env?._JAVA_OPTIONS ?? options.hostEnvironment?._JAVA_OPTIONS, }); if (mode === "cleanup-failure") { onTestFinished(async () => { @@ -63,11 +74,13 @@ export const createJadxProtocolFixture = async (mode = "normal") => { return spawned; }, ); + onTestFinished(() => provider.close().catch(() => undefined)); return { service: new AndroidAnalysisService(provider), provider, apk, jar, + environment, launches, }; }; diff --git a/tests/fixtures/contractPresentation.mjs b/tests/fixtures/contractPresentation.mjs index 3670f1b1b..6eab97d88 100644 --- a/tests/fixtures/contractPresentation.mjs +++ b/tests/fixtures/contractPresentation.mjs @@ -2,8 +2,8 @@ import { Client, InMemoryTransport } from "@modelcontextprotocol/client"; import { BROWSER_TOOL_CONTRACTS } from "../../dist/contracts/browserToolContracts.js"; import { BROWSER_SCENARIO_TOOL_CONTRACTS } from "../../dist/contracts/browserScenarioToolContracts.js"; -import { ELECTRON_TOOL_CONTRACTS } from "../../dist/contracts/electronToolContracts.js"; -import { JAVASCRIPT_RUNTIME_OBSERVATION_TOOL_CONTRACTS } from "../../dist/contracts/javascriptRuntimeObservationToolContracts.js"; +import { ELECTRON_TOOL_CONTRACTS } from "../../dist/contracts/javascript/electronToolContracts.js"; +import { JAVASCRIPT_RUNTIME_OBSERVATION_TOOL_CONTRACTS } from "../../dist/contracts/javascript/javascriptRuntimeObservationToolContracts.js"; import { TOOL_CONTRACTS } from "../../dist/contracts/toolContracts.js"; import { parseConfig } from "../../dist/config.js"; import { createBinarySession } from "../../dist/application/runtime.js"; diff --git a/tests/support/javascriptApplicationFixture.ts b/tests/support/javascriptApplicationFixture.ts index dc4b87e40..4c60b99ea 100644 --- a/tests/support/javascriptApplicationFixture.ts +++ b/tests/support/javascriptApplicationFixture.ts @@ -6,7 +6,7 @@ import type { ApplicationEdge, ApplicationNode, JavaScriptApplicationGraph, -} from "../../src/domain/javascriptApplicationGraph.js"; +} from "../../src/domain/javascript/javascriptApplicationGraph.js"; /** Write text fixture files, creating parent directories as needed. */ export const writeFixtureFiles = async ( diff --git a/tsconfig.json b/tsconfig.json index 3b0d6c682..1648ac8d4 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -21,6 +21,11 @@ "types": ["node"], "verbatimModuleSyntax": true }, - "include": ["src/**/*.ts", "tests/**/*.ts", "vitest.config.ts"], + "include": [ + "src/**/*.ts", + "tests/**/*.ts", + "vitest.config.ts", + "docs/.vitepress/config.ts" + ], "exclude": ["dist", "node_modules"] } diff --git a/website/README.md b/website/README.md new file mode 100644 index 000000000..edb950181 --- /dev/null +++ b/website/README.md @@ -0,0 +1,63 @@ +# REA website + +An English static website with explanatory figures and a DX-Ball investigation. +The public files are in `website/public/`. The site uses HTML, CSS and a small +script for copying code and following the assembly-to-C comparison; it has no +build step or npm dependencies. + +## Local preview + +From the repository root: + +```sh +python3 -m http.server 4173 --bind 127.0.0.1 --directory website/public +``` + +Open . Refresh the browser after editing a file. + +## Pages + +- `public/index.html`: product introduction and DX-Ball overview. +- `public/showcase/dx-ball/index.html`: sound-pan investigation and project status. +- `public/get-started/index.html`: agent setup, first CLI result and provider guides. +- `public/assets/`: shared styles, interactions, favicon and explanatory figures. + +Navigation and assets use relative paths, so the same files work at the local +root and a GitHub Pages project path such as `/rea/`. + +## Content + +Keep the copy direct and specific. Explain the task and the result before listing +tool names. Setup commands and runtime requirements should match the released +package. + +DX-Ball figures and findings refer to the linked 7 October 2026 checkpoint, +commit `a55dca27ec0a07018c1b2c95ae2be027f7d8c3c4`. Update those links and figures +together when moving to another checkpoint. Case-study source excerpts come +from the MIT-licensed DX-Ball reconstruction repository. + +The assembly excerpts were transcribed from the project's saved REA/Ghidra +Evidence. [evidence/dx-ball-sound-pan.md](evidence/dx-ball-sound-pan.md) records +their provenance and the scope of the validation claims. The original executable +and complete private Evidence records are not website assets. + +The diagrams are maintained as SVG source. Initial layout references were +created with the built-in image generation tool; [figures.md](figures.md) retains +their prompts and the current asset notes. Figures provide an overview; +REA requests, assembly and C remain selectable HTML text. On narrow +screens, the diagrams scroll horizontally and can also be opened at full size. + +## GitHub Pages + +`.github/workflows/website-pages.yml` prepares and deploys only `website/public`. +It is manually triggered and restricted to `main`; ordinary pushes and pull +requests do not publish the site. + +After the site is approved and merged, select **GitHub Actions** under the +repository's **Settings → Pages → Build and deployment**. Then run **Publish REA +website** from the Actions tab on `main`. The workflow uses the `github-pages` +environment and the official Pages actions. + +Local development does not change Pages settings or run the deployment workflow. +Any environment protection rules are configured separately when publication is +approved. diff --git a/website/evidence/dx-ball-sound-pan.md b/website/evidence/dx-ball-sound-pan.md new file mode 100644 index 000000000..60b7e0e61 --- /dev/null +++ b/website/evidence/dx-ball-sound-pan.md @@ -0,0 +1,116 @@ +# DX-Ball sound-pan evidence + +The website presents one function from the English DX-Ball 1.07 Windows i386 +executable. Project progress and validation claims are pinned to reconstruction +commit `a55dca27ec0a07018c1b2c95ae2be027f7d8c3c4` (7 October 2026). + +## Artifact and provider + +- Target: `DXBALL.EXE`, 158,208 bytes, PE i386. +- SHA-256: `756da1ba09edce716d5bf8770320ca0d5ed4e525672b6bb605b9bdb4b88972ba`. +- Function: `0x406400` through `0x40643e`, inclusive, 63 bytes. +- Recorded analysis: REA 4.1.0, Ghidra 12.1.4, Linux x64 host. +- Pan dossier: `ev_ddca58134d89a2eb0aba5bf5694bb06ce7b5cb28aac0eb847891506244e70490`. +- Caller dossier: `ev_d09866ff22dc07f3ac28ef1d992c5876c1e58e1796dbe0f0c5c2814544aa27eb`. +- Constants read: `ev_6a56fda997bcda2df677257601da0174ff8041d44c8c83c48356df31edf0f7ae`. +- Scale read: `ev_64752f4ecf1ec74384ce01083c21fcfffb716931f6c31a7dac351a136df7979e`. + +The website update reused the matching saved REA results and verified the local +target digest. It did not start a new provider session or repeat the project's +execution/compiler checks. Complete dossiers, snapshots, the original +executable and compiler products remain in the reconstruction project. + +## Observations and interpretation + +| Saved observation | Interpretation used by the reconstruction | +| --------------------------------------------------------------------- | ------------------------------------------------- | +| Stack load from `[EBP+8]`, then `FILD` | An integer parameter, named `x` | +| Brick-hit caller multiplies its coordinate by 30, adds 20, pushes EAX | The input is a brick's horizontal screen position | +| `FMUL [0x420068]`; byte read decodes to 1.5625 | `pan = pan * 1.5625` | +| `FSUB [0x420070]`; byte read decodes to 500.0 | `pan = pan - 500.0` | +| `FMUL [0x4210a0]`; initial double is 1.0 | A stored scale, named `dxball_pan_scale` | +| Call to `__ftol` at 0x41678c | Convert the calculation to an integer | + +The names `dxball_screen_pan`, `x` and `dxball_pan_scale` belong to the maintained +source. The executable's instruction view supplies addresses and operations. +The original decompiler result reports `FUN_00406400(void)` and a conversion +call, omitting the stack input and x87 expression. The website's pseudocode +excerpt preserves that body and omits only its leading provider warning/comment +and blank lines. + +## Displayed REA requests + +The page shows the actual tool names with compact input excerpts: + +- `analyze_function` at procedure `0x406400` returns the pan dossier, including + its instruction view and the caller entry at `0x411f40`. +- `analyze_function` at procedure `0x411f40` returns the brick-hit dossier. + The visible caller excerpt preserves the ADD/PUSH/CALL instructions verbatim; + the full supporting excerpt also shows the preceding ×30 calculation. +- `read_bytes` at `0x420068`, length 16, returns + `000000000000f93f0000000000407f40`. +- `read_bytes` at `0x4210a0`, length 8, returns `000000000000f03f`. + +The page splits the first byte read into two eight-byte values and shows their +little-endian double interpretations beside the observed hex. These are decoded +values, not additional fields in the raw REA result. Query groups present the +reasoning sequence rather than reproducing an entire chronological session. +Provider details are recorded here; the product narrative uses REA to describe +the CLI/MCP operations the agent called. + +## Complete recorded instruction listing + +Transcribed verbatim from the pan dossier's normalized assembly facet: + +```asm +0x406400: PUSH EBP +0x406401: MOV EBP, ESP +0x406403: SUB ESP, 0xc +0x406406: PUSH EBX +0x406407: PUSH ESI +0x406408: PUSH EDI +0x406409: MOV EAX, dword ptr [EBP + 0x8] +0x40640c: MOV dword ptr [EBP + -0xc], EAX +0x40640f: FILD dword ptr [EBP + -0xc] +0x406412: FST double ptr [EBP + -0x8] +0x406415: FMUL double ptr [0x00420068] +0x40641b: FST double ptr [EBP + -0x8] +0x40641e: FSUB double ptr [0x00420070] +0x406424: FST double ptr [EBP + -0x8] +0x406427: FMUL double ptr [0x004210a0] +0x40642d: FST double ptr [EBP + -0x8] +0x406430: CALL 0x0041678c +0x406435: JMP 0x0040643a +0x40643a: POP EDI +0x40643b: POP ESI +0x40643c: POP EBX +0x40643d: LEAVE +0x40643e: RET +``` + +The interactive website excerpt selects eight instructions from this listing. +It omits setup/cleanup, intermediate `FST` stores and the epilogue jump to keep +the calculation visible. The expandable listing retains all 23 instructions. +Copying the C panel copies the complete maintained function, including its +signature, declaration and return. + +## Validation scope + +The reconstruction project's recorded checks establish: + +- 3,205 direct original-x86 differential cases: integer positions 0–640 at + scales 0, 0.5, 1, 20 and −1. +- 63 matching bytes for the complete VC4.0-compiled function, after applying + every reviewed relocation and checking referenced constants. + +These claims apply to this function at the linked checkpoint. The figure shows +execution comparison and compiler replay as separate branches. Game-level +integration remains a separate project task. + +## Public sources + +- [Gameplay observations and Evidence IDs](https://github.com/N0zoM1z0/dx-ball/blob/a55dca27ec0a07018c1b2c95ae2be027f7d8c3c4/docs/GAMEPLAY_OWNER.md) +- [Maintained function](https://github.com/N0zoM1z0/dx-ball/blob/a55dca27ec0a07018c1b2c95ae2be027f7d8c3c4/src/gameplay.c#L41) +- [Semantic acceptance ledger](https://github.com/N0zoM1z0/dx-ball/blob/a55dca27ec0a07018c1b2c95ae2be027f7d8c3c4/config/semantic-acceptance.csv) +- [Complete function units and relocation mappings](https://github.com/N0zoM1z0/dx-ball/blob/a55dca27ec0a07018c1b2c95ae2be027f7d8c3c4/config/match-units.toml) +- [Compiler replay method](https://github.com/N0zoM1z0/dx-ball/blob/a55dca27ec0a07018c1b2c95ae2be027f7d8c3c4/docs/BUILD_MATCHING.md) diff --git a/website/figures.md b/website/figures.md new file mode 100644 index 000000000..20bda270e --- /dev/null +++ b/website/figures.md @@ -0,0 +1,99 @@ +# REA website figures + +The published diagrams are SVG source assets: + +- `public/assets/figures/rea-investigation-flow.svg` — 1774 × 887 viewBox. +- `public/assets/figures/dx-ball-sound-pan-investigation.svg` — 1774 × 887 viewBox. + +Two original layout references were generated with the built-in image generation +tool and reviewed visually. Their prompts are retained below. The final SVGs +preserve the white background, charcoal/slate/blue palette and layout while +using REA as the reader-facing subject. Provider details remain in configuration +guides and the evidence provenance document. The SVGs keep text sharp when +zoomed and can be maintained without committing raster binaries. + +The REA figure shows the agent's question, inspection through REA, evidence and +follow-up work. The DX-Ball figure shows the ordered input/arithmetic evidence, +the maintained C and separate execution/compiler checks. Recorded tool requests, +instruction excerpts and decoded byte reads appear as HTML text in the case +study; source reconstruction is the agent's work informed by REA results. + +## Review + +Check spelling, arithmetic order, arrow directions and the separate verification +branches when changing these figures. Match progress claims to the pinned +reconstruction checkpoint. Validate the SVG as XML and inspect its browser +rendering at desktop and mobile widths. + +## Original image generation prompts + +## Prompt 1 + +Use case: scientific-educational +Asset type: project-bound raster diagram for the REA website, readable at 1080px display width. +Primary request: Make one exceptionally clear, publication-style flow figure explaining how an analyst and their agent use REA to investigate a local target. The reader should understand the roles and sequence in one glance. +Canvas: wide landscape 2:1 aspect ratio, approximately 2048 × 1024 pixels. Plain pure-white background. Generous clear outer margin. Flat vector-like graphic rendered as raster. +Style: restrained technical-paper figure. Crisp large sans-serif type. Charcoal #20252b text, slate #5b6570 secondary text, thin gray connecting lines, one muted blue #294f82 accent for REA and meaningful connections. No decorative illustration. + +Layout and exact labels: +A short title at the top left: "REA investigation flow". +Four clear evenly spaced stages along a single left-to-right horizontal baseline. Each stage has a prominent numbered heading, concise centered labels, and ample whitespace. Main connectors are right-pointing arrows between adjacent stages. +Stage 1: +"1. Ask" +"Your agent + local target" +"App / binary / browser" +Stage 2: +"2. Inspect & trace" +A large blue label "REA" +"CLI / MCP" +Stage 3: +"3. Read the evidence" +"Code / references / unknowns" +Stage 4: +"4. Use what you learn" +A large label "Your agent" +"Explain / implement / test" + +Below stage 2 only, put a supporting box and a thin vertical connector to REA. Box labels verbatim: +"Analysis tools" +"Ghidra / Hopper / IDA / other adapters" +It is a set of available adapters, not a requirement that all engines be used. Do not put this box under other stages. +Add exactly one subtle feedback arrow above the main row: from stage 4 back to stage 2, pointing into REA. Its label is "Follow-up question". Do not cross text. +Semantics: REA provides inspection and analysis evidence via CLI/MCP. The user's agent uses that evidence to explain, implement, or test. Never imply REA automatically clones a program. +Text: Render every supplied English label verbatim with correct spelling. Keep type large and dark enough to read when image is displayed at 1080px wide. Do not add additional captions, claims, legends, text, code, logos, icons, or numbers. +Avoid: screenshots, assembly or source code, watermarks, shadows, gradients, 3D, cute icons, bold marketing banners, ornate borders, dense text, tiny labels, decorative arrows. + +## Prompt 2 + +Use case: scientific-educational +Asset type: project-bound raster figure for a restrained REA technical case-study web page, readable at 1080px display width. +Primary request: Draw one accurate, instantly understandable publication-style diagram of the DX-Ball sound-pan function investigation. Show the original executable feeding REA/Ghidra analysis, the ordered arithmetic evidence, the maintained C reconstruction, and two separate verification checks. This concerns ONE FUNCTION, not the entire game. +Canvas: wide landscape 2:1 aspect ratio, approximately 2048 × 1024 pixels. Pure-white background, generous outer margins. Flat vector-like diagram rendered as raster. +Style: crisp large sans-serif, charcoal #20252b primary text, slate #5b6570 secondary text and thin outlines, one restrained blue #294f82 accent. Only boxes, simple lines, arrows and typography. No shadows, gradients, 3D, icons or screenshots. + +Composition: +At top left, a concise title "DX-Ball sound-pan investigation". +The main upper row proceeds from left to right across three clearly separated regions: a compact source box on the far left, a wide central analysis region, then a compact implementation box on the right. Use meaningful arrows connecting them. Reserve lower space for a caller input on the lower left and verification checks on the lower right, with no crossing connectors or cramped text. + +Exact labels and relationships: +SOURCE: box text "DXBALL.EXE" with "0x00406400" underneath. +Arrow from SOURCE into the first node of the central region. + +CENTRAL EVIDENCE REGION: heading "REA + Ghidra". +Five little arithmetic nodes in exactly this order, joined by right-pointing arrows: +"Stack input x" → "× 1.5625" → "− 500.0" → "× pan_scale" → "Integer return" +The last node connects to the maintained C box on the right. +The operations MUST remain in this order; these are arithmetic evidence labels, not source code. Use the true multiplication symbol × and minus symbol −, never a plus. +Put a supporting caller box below the first input, connected by a single arrow ONLY to "Stack input x". Its exact labels are "Brick-hit caller" and "20 + 30 × tile_x". This supplies the input position. Do not connect the caller to the multiplier or to later operations. + +IMPLEMENTATION REGION on the right: small heading "Reconstructed function" with prominent box text "Maintained C". +Below this output, draw a fork into TWO distinct verification boxes; both receive a connector from Maintained C, and neither receives a connector from the other check. These checks are independent branches, never a single serial validation. +First check labels verbatim: +"Original-x86 comparison" +"3,205 cases" +Second check labels verbatim: +"VC4.0 compiler replay" +"63 matching bytes" +Use enough horizontal space for clear check names and generous typography. A two-line label is fine where needed. + +Text constraints: render every supplied English label and number verbatim with correct spelling. No extra claims, no additional labels, no footnotes, no source code or assembly, no logos or watermarks. Keep all connectors complete and directed correctly. Large legible labels matter more than decorative density. Never say full reconstruction, exact game clone, all bytes, or automatic source recovery. diff --git a/website/public/assets/favicon.svg b/website/public/assets/favicon.svg new file mode 100644 index 000000000..78512ef98 --- /dev/null +++ b/website/public/assets/favicon.svg @@ -0,0 +1 @@ + diff --git a/website/public/assets/figures/dx-ball-sound-pan-investigation.svg b/website/public/assets/figures/dx-ball-sound-pan-investigation.svg new file mode 100644 index 000000000..103bd751b --- /dev/null +++ b/website/public/assets/figures/dx-ball-sound-pan-investigation.svg @@ -0,0 +1,58 @@ + + DX-Ball sound-pan investigation + REA provides the instruction, caller and byte-read evidence for one DX-Ball function. A stack input is multiplied by 1.5625, offset by 500, scaled, and converted to an integer. Maintained C is checked in 3,205 original-x86 cases and a separate 63-byte compiler replay. + + + + + + DX-Ball sound-pan investigation + + + + + + + + + + + + + + + + DXBALL.EXE + 0x00406400 + REA + Stack + input x + × 1.5625 + − 500.0 + × pan_scale + Integer + return + Reconstructed function + Maintained C + Brick-hit caller + 20 + 30 × tile_x + Original-x86 + comparison + 3,205 cases + VC4.0 compiler + replay + 63 matching bytes + + + + + + + + + + + + + + diff --git a/website/public/assets/figures/rea-investigation-flow.svg b/website/public/assets/figures/rea-investigation-flow.svg new file mode 100644 index 000000000..8bf59be66 --- /dev/null +++ b/website/public/assets/figures/rea-investigation-flow.svg @@ -0,0 +1,43 @@ + + REA investigation flow + Ask a question about a local target. REA inspects and traces through local analysis adapters, returns evidence, and supports follow-up questions as your agent explains, implements and tests. + + + + + + + REA investigation flow + + + + + + + + + 1. Ask + Your agent + local target + App / binary / browser + 2. Inspect & trace + REA + CLI / MCP + 3. Read the evidence + Code / references / + unknowns + 4. Use what you learn + Your agent + Explain / implement / test + Analysis tools + Local analysis adapters + Follow-up question + + + + + + + + + + diff --git a/website/public/assets/main.js b/website/public/assets/main.js new file mode 100644 index 000000000..45e6adc98 --- /dev/null +++ b/website/public/assets/main.js @@ -0,0 +1,57 @@ +function initializeCopyButtons() { + document.querySelectorAll("[data-copy]").forEach((button) => { + button.addEventListener("click", async () => { + const target = document.getElementById(button.getAttribute("data-copy")); + if (target === null) return; + + const status = document.getElementById("copy-status"); + try { + await navigator.clipboard.writeText(target.textContent.trim()); + button.textContent = "Copied"; + if (status !== null) status.textContent = "Code copied to clipboard."; + } catch { + const range = document.createRange(); + range.selectNodeContents(target); + const selection = window.getSelection(); + if (selection !== null) { + selection.removeAllRanges(); + selection.addRange(range); + } + button.textContent = "Selected"; + if (status !== null) + status.textContent = "Code selected. Use your keyboard to copy it."; + } + + window.setTimeout(() => { + button.textContent = "Copy"; + }, 2000); + }); + }); +} + +initializeCopyButtons(); + +function initializeStepComparisons() { + document.querySelectorAll("[data-step-comparison]").forEach((comparison) => { + const buttons = comparison.querySelectorAll("[data-select-step]"); + buttons.forEach((button) => { + button.addEventListener("click", () => { + const selected = button.getAttribute("data-select-step"); + buttons.forEach((candidate) => { + candidate.setAttribute("aria-pressed", String(candidate === button)); + }); + comparison.querySelectorAll("[data-step]").forEach((fragment) => { + fragment.classList.toggle( + "is-active", + fragment.getAttribute("data-step") === selected, + ); + }); + comparison.querySelectorAll("[data-step-note]").forEach((note) => { + note.hidden = note.getAttribute("data-step-note") !== selected; + }); + }); + }); + }); +} + +initializeStepComparisons(); diff --git a/website/public/assets/styles.css b/website/public/assets/styles.css new file mode 100644 index 000000000..fde289bf7 --- /dev/null +++ b/website/public/assets/styles.css @@ -0,0 +1,857 @@ +:root { + color-scheme: light; + --ink: #20252b; + --muted: #5b6570; + --line: #e0e5e9; + --soft: #f4f6f8; + --accent: #294f82; + --page: #ffffff; + font-family: + -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; + font-synthesis: none; + text-rendering: optimizeLegibility; +} + +* { + box-sizing: border-box; +} +body { + margin: 0; + background: var(--page); + color: var(--ink); + line-height: 1.65; +} +a { + color: var(--accent); + text-underline-offset: 0.2em; +} +a:hover { + text-decoration-thickness: 2px; +} +button, +input { + font: inherit; +} +button { + cursor: pointer; +} +::selection { + background: #dce8f6; +} +:focus-visible { + outline: 2px solid var(--accent); + outline-offset: 5px; +} +code, +pre { + font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace; +} +code { + font-size: 0.9em; + overflow-wrap: anywhere; +} +p { + margin: 0 0 1.2rem; +} +h1, +h2, +h3 { + line-height: 1.14; + font-weight: 650; + letter-spacing: -0.035em; +} +h1 { + margin: 0 0 1.5rem; + font-size: clamp(2.75rem, 6.5vw, 5.4rem); +} +h2 { + margin: 0 0 1.2rem; + font-size: clamp(1.75rem, 3vw, 2.4rem); +} +h3 { + margin: 0 0 0.65rem; + font-size: 1.2rem; + letter-spacing: -0.02em; +} +ul, +ol { + padding-left: 1.3rem; +} +li + li { + margin-top: 0.45rem; +} +section[id] { + scroll-margin-top: 2rem; +} +.container { + width: min(1080px, calc(100% - 3.5rem)); + margin-inline: auto; +} +.skip-link { + position: absolute; + left: 1rem; + top: -5rem; + padding: 0.6rem 1rem; + background: var(--ink); + color: white; + z-index: 10; +} +.skip-link:focus { + top: 0.75rem; +} +.site-header { + border-bottom: 1px solid var(--line); +} +.header-inner { + min-height: 88px; + display: flex; + align-items: center; + justify-content: space-between; + gap: 2rem; +} +.brand { + display: flex; + align-items: baseline; + gap: 0.9rem; + color: var(--ink); + text-decoration: none; +} +.brand-name { + font-size: 1.45rem; + font-weight: 750; + letter-spacing: -0.065em; +} +.brand-caption { + color: var(--muted); + font-size: 0.875rem; +} +.navigation { + display: flex; + align-items: center; + gap: 1.8rem; + font-size: 0.9rem; +} +.navigation a { + color: var(--muted); + text-decoration: none; + white-space: nowrap; +} +.navigation a:hover, +.navigation a[aria-current="page"] { + color: var(--ink); +} +.navigation a[aria-current="page"] { + text-decoration: underline; +} +.navigation .nav-start { + color: var(--ink); +} +.eyebrow { + margin-bottom: 1.2rem; + font-size: 0.875rem; + color: var(--muted); +} +.hero { + padding-block: 5.8rem 4.6rem; +} +.hero h1 { + max-width: 900px; +} +.hero .lede { + max-width: 710px; +} +.lede { + font-size: 1.2rem; + color: var(--muted); + line-height: 1.7; +} +.actions { + display: flex; + flex-wrap: wrap; + align-items: center; + gap: 1.6rem; + margin-top: 2rem; +} +.button { + display: inline-flex; + justify-content: center; + align-items: center; + padding: 0.7rem 1.25rem; + border: 1px solid var(--ink); + border-radius: 5px; + background: var(--ink); + color: white; + font-size: 0.95rem; + font-weight: 500; + text-decoration: none; +} +.button:hover { + background: #38424e; + text-decoration: none; +} +.text-link { + font-size: 0.95rem; + font-weight: 500; +} +.hero-command { + max-width: 680px; + margin-top: 2.25rem; +} +.code-block { + margin-block: 1.3rem; + border: 1px solid var(--line); + border-radius: 5px; + overflow: hidden; + background: var(--soft); +} +.code-header { + display: flex; + justify-content: space-between; + align-items: center; + gap: 1rem; + padding: 0.6rem 1rem; + border-bottom: 1px solid var(--line); + color: var(--muted); + font-size: 0.875rem; +} +.copy-button { + padding: 0.15rem 0.45rem; + color: var(--muted); + background: transparent; + border: 0; + border-radius: 3px; + font-size: 0.875rem; +} +.copy-button:hover { + background: #e5e9ee; + color: var(--ink); +} +pre { + margin: 0; + padding: 1.15rem; + overflow-x: auto; + font-size: 0.875rem; + line-height: 1.75; +} +pre code { + font-size: inherit; + overflow-wrap: normal; +} +.code-inline { + display: flex; + align-items: center; + justify-content: space-between; + gap: 1rem; + padding: 0.95rem 1.1rem; +} +.code-inline code { + min-width: 0; + font-size: 0.875rem; +} +.section { + padding-block: 3.8rem; + border-top: 1px solid var(--line); +} +.section-heading { + max-width: 650px; + margin-bottom: 2rem; +} +.section-heading p { + color: var(--muted); +} +.feature-case { + display: grid; + grid-template-columns: 1.55fr 1fr; + gap: 4.5rem; + align-items: start; +} +.feature-case p { + max-width: 630px; + color: var(--muted); +} +.case-note { + font-size: 0.875rem; +} +.stats { + display: grid; + grid-template-columns: repeat(3, 1fr); + gap: 1.5rem; +} +.stats dt { + font-size: 2rem; + font-weight: 600; + line-height: 1.2; + letter-spacing: -0.04em; +} +.stats dd { + margin: 0.5rem 0 0; + color: var(--muted); + font-size: 0.875rem; + line-height: 1.5; +} +.case-stats { + grid-template-columns: 1fr; + margin: 0; + padding-left: 2rem; + border-left: 1px solid var(--line); +} +.case-stats > div + div { + border-top: 1px solid var(--line); + padding-top: 1.1rem; +} +.case-stats dt { + font-size: 1.7rem; +} +.workflows { + display: grid; + grid-template-columns: repeat(3, 1fr); + gap: 2.8rem; +} +.workflows p { + margin-bottom: 0.8rem; + color: var(--muted); +} +.workflows a { + font-size: 0.9rem; +} +.start-row { + display: flex; + justify-content: space-between; + align-items: center; + gap: 2rem; +} +.start-row h2 { + margin-bottom: 0.65rem; +} +.start-row p { + margin: 0; + color: var(--muted); +} +.site-footer { + margin-top: 1.5rem; + padding-block: 2rem; + border-top: 1px solid var(--line); + color: var(--muted); + font-size: 0.875rem; +} +.footer-inner { + display: flex; + flex-wrap: wrap; + justify-content: space-between; + gap: 1rem 2rem; +} +.footer-inner p { + margin: 0; +} +.footer-links { + display: flex; + flex-wrap: wrap; + gap: 1.5rem; +} +.footer-links a { + color: var(--muted); +} +.page-heading { + padding-block: 4.3rem 2.7rem; +} +.page-heading h1 { + max-width: 850px; + font-size: clamp(2.6rem, 5.5vw, 4.25rem); +} +.page-heading .lede { + max-width: 730px; +} +.breadcrumb { + margin-bottom: 2rem; + color: var(--muted); + font-size: 0.875rem; +} +.breadcrumb a { + color: var(--muted); +} +.page-meta { + color: var(--muted); + font-size: 0.875rem; +} +.article-layout { + display: grid; + grid-template-columns: 190px minmax(0, 1fr); + gap: 4rem; + padding-bottom: 3.5rem; +} +.contents { + align-self: start; + position: sticky; + top: 2rem; + padding-top: 2.4rem; + font-size: 0.875rem; +} +.contents p { + font-weight: 600; + color: var(--ink); + margin-bottom: 0.8rem; +} +.contents ul { + margin: 0; + padding: 0; + list-style: none; +} +.contents li + li { + margin-top: 0.75rem; +} +.contents a { + color: var(--muted); + text-decoration: none; +} +.contents a:hover { + color: var(--ink); + text-decoration: underline; +} +.article { + max-width: 760px; + min-width: 0; +} +.article-section { + padding-block: 2.4rem; + border-top: 1px solid var(--line); +} +.article-section h2 { + font-size: 1.8rem; +} +.article p, +.article li { + color: #414b55; +} +.article .stats { + margin: 0 0 1.6rem; +} +.article .stats dt { + color: var(--ink); +} +.article .stats dd { + color: var(--muted); +} +.caption { + font-size: 0.875rem; + color: var(--muted); +} +.explanatory-figure { + margin: 0; +} +.figure-viewport { + overflow-x: auto; + border: 1px solid var(--line); + border-radius: 5px; +} +.explanatory-figure img { + display: block; + width: 100%; + min-width: 880px; + height: auto; +} +.explanatory-figure figcaption { + max-width: 800px; + margin-top: 1rem; + color: var(--muted); + font-size: 0.875rem; +} +.explanatory-figure figcaption a { + white-space: nowrap; +} +.case-figure { + margin-bottom: 3.2rem; +} +.step-selector { + display: grid; + grid-template-columns: repeat(5, minmax(0, 1fr)); + gap: 0.5rem; + margin-block: 1.5rem 0.9rem; +} +.step-selector button { + padding: 0.55rem 0.3rem; + border: 1px solid var(--line); + border-radius: 4px; + background: var(--page); + color: var(--muted); + font-size: 0.85rem; +} +.step-selector button span { + font-size: 0.75rem; + margin-right: 0.3rem; + font-variant-numeric: tabular-nums; +} +.step-selector button[aria-pressed="true"] { + border-color: var(--accent); + background: #edf2f8; + color: var(--accent); +} +.code-comparison { + display: grid; + grid-template-columns: repeat(2, minmax(0, 1fr)); + gap: 0.9rem; +} +.code-comparison .code-block { + margin: 0; + min-width: 0; +} +.code-comparison .code-header { + padding-inline: 0.8rem; + font-size: 0.8rem; +} +.code-comparison pre { + padding: 1rem 0.8rem; + font-size: 0.75rem; + line-height: 1.95; + white-space: pre-wrap; + overflow-wrap: anywhere; +} +.step-comparison .is-active { + background: #dce8f6; + color: #173a67; + border-radius: 2px; + box-decoration-break: clone; + -webkit-box-decoration-break: clone; +} +.step-detail { + margin-block: 1.1rem; + padding-left: 1rem; + border-left: 2px solid var(--accent); +} +.step-detail p { + margin: 0; + font-size: 0.9rem; +} +.evidence-details { + margin-block: 1.5rem; +} +.evidence-details summary { + cursor: pointer; + color: var(--accent); + font-size: 0.95rem; +} +.evidence-details[open] summary { + margin-bottom: 1.2rem; +} +.evidence-details h3 { + margin-top: 1.5rem; + font-size: 1.1rem; +} +.evidence-table-wrap { + overflow-x: auto; + margin-block: 1rem; +} +.evidence-table { + width: 100%; + border-collapse: collapse; + font-size: 0.875rem; +} +.evidence-table caption { + text-align: left; + color: var(--muted); + margin-bottom: 0.6rem; +} +.evidence-table th, +.evidence-table td { + text-align: left; + padding: 0.6rem 0.7rem; + border-bottom: 1px solid var(--line); +} +.rea-queries { + margin-block: 1.5rem 1.8rem; + padding: 0; + list-style: none; + counter-reset: query; +} +.rea-queries li { + position: relative; + padding: 1.2rem 0 1.2rem 2.4rem; + border-top: 1px solid var(--line); + counter-increment: query; +} +.rea-queries li + li { + margin-top: 0; +} +.rea-queries li::before { + content: counter(query, decimal-leading-zero); + position: absolute; + top: 1.2rem; + left: 0; + color: var(--muted); + font-size: 0.875rem; +} +.rea-queries h4 { + margin: 0 0 0.6rem; + color: var(--ink); + font-size: 1.05rem; + font-weight: 600; + line-height: 1.4; +} +.rea-queries .query-call { + margin-bottom: 0.8rem; + color: var(--muted); + font-size: 0.875rem; +} +.rea-query-pair { + display: grid; + grid-template-columns: repeat(2, minmax(0, 1fr)); + gap: 0.9rem; + margin-block: 0.9rem; +} +.rea-query-pair .code-block { + margin: 0; + min-width: 0; +} +.rea-query-pair .code-header { + padding-inline: 0.8rem; + font-size: 0.75rem; +} +.rea-query-pair pre { + padding: 0.8rem; + font-size: 0.75rem; + line-height: 1.8; + white-space: pre-wrap; + overflow-wrap: anywhere; +} +.rea-queries p:last-child { + margin: 0; + font-size: 0.9rem; +} +.numbered-notes { + list-style: none; + padding: 0; + margin: 1.75rem 0 0; + counter-reset: note; +} +.numbered-notes li { + position: relative; + padding-left: 2.4rem; + counter-increment: note; +} +.numbered-notes li + li { + margin-top: 1.7rem; +} +.numbered-notes li::before { + content: counter(note, decimal-leading-zero); + position: absolute; + left: 0; + top: 0; + color: var(--muted); + font-size: 0.875rem; + font-variant-numeric: tabular-nums; +} +.numbered-notes h3 { + color: var(--ink); +} +.verification { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 2rem; + margin-top: 1.7rem; +} +.verification h3 { + font-size: 1.1rem; +} +.verification p { + margin: 0; +} +.reading-list { + list-style: none; + padding: 0; + margin-bottom: 0; +} +.reading-list li { + padding-block: 1rem; + border-top: 1px solid var(--line); +} +.reading-list span { + display: block; + color: var(--muted); + font-size: 0.875rem; + margin-top: 0.2rem; +} +.requirements { + margin-top: 1.5rem; + padding-bottom: 0.25rem; + font-size: 0.9rem; + color: var(--muted); +} +.prompt { + margin: 1.2rem 0; + padding: 1rem 1.2rem; + background: var(--soft); + border-left: 2px solid #97a6b7; +} +.prompt p { + margin: 0; +} +.provider-list { + margin-top: 1.5rem; +} +.provider { + display: grid; + grid-template-columns: 105px 1fr; + gap: 1.3rem; + padding-block: 1.2rem; + border-top: 1px solid var(--line); +} +.provider h3 { + font-size: 1rem; + margin-top: 0.2rem; +} +.provider p { + margin-bottom: 0.5rem; +} +.provider a { + font-size: 0.9rem; +} +.small-heading { + margin-top: 1.8rem; +} +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip-path: inset(50%); + white-space: nowrap; + border: 0; +} + +@media (max-width: 850px) { + .brand-caption { + display: none; + } + .feature-case { + gap: 2.4rem; + } + .workflows { + gap: 1.8rem; + } + .article-layout { + grid-template-columns: 150px minmax(0, 1fr); + gap: 2rem; + } + .code-comparison, + .rea-query-pair { + grid-template-columns: 1fr; + } +} + +@media (max-width: 640px) { + .container { + width: calc(100% - 2.5rem); + } + .header-inner { + min-height: 78px; + gap: 1rem; + } + .navigation { + gap: 1rem; + font-size: 0.875rem; + } + .hero { + padding-block: 3.5rem 3rem; + } + .hero h1 { + font-size: clamp(2.55rem, 10vw, 3.75rem); + } + .lede { + font-size: 1.075rem; + } + .actions { + gap: 1.2rem; + } + .section { + padding-block: 2.6rem; + } + .feature-case, + .workflows, + .verification { + grid-template-columns: 1fr; + } + .case-stats { + grid-template-columns: repeat(3, 1fr); + border-left: 0; + padding: 1.5rem 0 0; + border-top: 1px solid var(--line); + gap: 1rem; + } + .case-stats > div + div { + border: 0; + padding-top: 0; + } + .stats dt { + font-size: 1.65rem; + } + .stats dd { + font-size: 0.875rem; + } + .start-row { + align-items: flex-start; + flex-direction: column; + } + .page-heading { + padding-block: 3rem 2rem; + } + .page-heading h1 { + font-size: clamp(2.45rem, 9vw, 3.4rem); + } + .article-layout { + display: block; + } + .contents { + position: static; + padding-top: 0; + padding-bottom: 1.7rem; + } + .contents p { + display: none; + } + .contents ul { + display: flex; + flex-wrap: wrap; + gap: 0.65rem 1.3rem; + } + .contents li + li { + margin: 0; + } + .article-section { + padding-block: 2rem; + } + .article .stats { + gap: 1rem; + } + .provider { + grid-template-columns: 1fr; + gap: 0.25rem; + } + .step-selector { + grid-template-columns: repeat(3, minmax(0, 1fr)); + } + pre { + padding: 1rem; + } + .code-inline { + align-items: flex-start; + padding: 0.9rem; + } +} + +@media (max-width: 360px) { + .header-inner { + flex-wrap: wrap; + justify-content: flex-start; + gap: 0.3rem; + padding-block: 0.65rem; + } + .navigation { + width: 100%; + justify-content: space-between; + } + .stats, + .case-stats { + grid-template-columns: 1fr; + } +} diff --git a/website/public/get-started/index.html b/website/public/get-started/index.html new file mode 100644 index 000000000..26ba6a21f --- /dev/null +++ b/website/public/get-started/index.html @@ -0,0 +1,310 @@ + + + + + + Get started — REA + + + + + + + + + +
+
+ +

Start with a question.

+

+ Connect REA to your coding agent, or inspect a local app from your + terminal. +

+

+ You'll need Node.js 22 (22.19+), 24 (24.11+) or 26+, and npm. + Full installation guide +

+
+
+ +
+
+

With your agent

+

+ Run setup to connect REA to Claude Code, Codex, Cursor or another + supported client. +

+
+
+ Terminal +
+
npx rea-agents@latest setup
+
+

+ Choose your client and review the setup plan. REA adds its MCP + connection and the matching investigation skill, keeping a backup + of existing configuration. It asks before applying the changes. +

+

+ Restart your client when setup finishes. Give your agent a target + path and a specific question. For a JavaScript or Electron app, + you might start with: +

+
+

+ Look at /absolute/path/to/app and find how it + exports data. Show the entry points, calls and dependencies + involved, with the source locations for your findings. +

+
+

+ Replace the path with your local target. Read the findings, then + ask a narrower follow-up about a function or connection you want + to understand. +

+
+ +
+

From the terminal

+

+ You can start with a JavaScript or Electron application folder or + ASAR archive. This path uses Node.js and npm and reads the app + without running it. +

+
+
+ Static application analysis +
+
npx -y rea-agents@latest analyze-javascript-application \
+  /absolute/path/to/app --json
+
+

+ Replace the path with your extracted app directory or + .asar file. On Windows, a path such as + "D:/apps/example" works here. +

+

+ The result includes the application's identity, recovered module + relationships and evidence locations. It also records + relationships that remain unresolved. Use those findings to choose + where to investigate next. +

+

+ If you'd like a permanent rea command in your shell: +

+
+
+ Install the CLI +
+
npm install --global rea-agents
+
+

+ Continue with the JavaScript application guide +

+
+ +
+

Working with native binaries

+

+ Choose a deep-analysis provider for your target and host. If you + already use one of these tools, start with its connection guide. +

+
+
+

Ghidra

+
+

+ Use an existing Ghidra installation and JDK. Setup checks + their paths and records them for your selected clients. +

+ Ghidra setup and supported hosts +
+
+
+

Hopper

+
+

+ Connect Hopper on macOS or Linux. Setup can also install it + after you review and approve the installation plan. +

+ Hopper installation +
+
+
+

IDA

+
+

+ Reuse an existing IDA MCP registration for read-only + analysis through an attached GUI or headless database. +

+ IDA connection guide +
+
+
+

+ For an existing Ghidra setup, inspect a function with: +

+
+
+ Function analysis +
+
rea function /absolute/path/to/program main \
+  --provider ghidra --json
+
+

+ Replace main with the function name or address you + want to inspect. The first query imports and analyzes the target, + so it can take longer than later requests. +

+
+ +
+

Getting help

+

If your agent doesn't see REA

+

+ Restart or reconnect the client after setup. To check its + registration, use a client-scoped report; for Codex: +

+
+
+ Check one client +
+
npx -y rea-agents@latest doctor --client codex --json
+
+

If a provider needs attention

+

Check the provider you're using. For Ghidra:

+
+
+ Check one provider +
+
npx -y rea-agents@latest doctor --provider ghidra --json
+
+

The report gives the failed check and a suggested next step.

+ +
+
+
+
+ +

+ + diff --git a/website/public/index.html b/website/public/index.html new file mode 100644 index 000000000..4acb31035 --- /dev/null +++ b/website/public/index.html @@ -0,0 +1,232 @@ + + + + + + REA — Reverse Engineer Anything + + + + + + + + + +
+
+

Software analysis · CLI & MCP

+

Find out how
software works.

+

+ REA gives your coding agent tools to inspect apps, binaries and + runtime behavior. Ask a question, follow the code, and use what you + learn in your own project. +

+ +
+
+ npx rea-agents@latest setup + +
+

+ Connects REA to your agent and installs its investigation workflow. +

+
+
+ +
+
+
+
+ Ask a question about a local app, binary or browser. Your agent uses REA through CLI or MCP to inspect and trace with analysis tools. REA returns code, references and unknowns. Your agent uses the evidence to explain, implement and test, and can ask follow-up questions. +
+
+ REA connects your agent to analysis tools. The findings guide the + next question, explanation or implementation. + Open figure +
+
+
+
+ +
+
+
+

Case study

+

Rebuilding DX-Ball

+

+ DX-Ball is a 1996 Windows game. The project is reconstructing it + in C, using REA to inspect the executable and independent tests to + check the recovered behavior. +

+

+ To recover a sound-pan calculation, the agent used REA to inspect + the instructions, follow a caller and read the constants. Those + findings led to a C function checked against the original behavior + and all 63 compiled bytes. +

+

+ Follow the investigation +

+

+ Work so far covers boards, resources, brick hits, animations, + particles and bonus production. The playable game is still in + progress. +

+
+
+
+
55
+
functions in maintained C
+
+
+
45,380
+
original-x86 differential cases
+
+
+
33
+
complete functions with matching compiled bytes
+
+
+
+
+ +
+
+
+

Bring a target. Ask a question.

+

+ Start with a local app or file, then narrow the investigation to + the feature or behavior you want to understand. +

+
+
+
+

Native applications

+

+ Inspect functions, strings, references and call relationships in + executables and libraries. +

+ Native analysis guide +
+
+

JavaScript & Electron

+

+ Map modules, routes, IPC and native dependencies from an + application folder or ASAR archive. +

+ Application workflows +
+
+

Runtime behavior

+

+ Capture selected browser or process activity, then compare the + results across runs. +

+ Browser observation guide +
+
+
+
+ +
+
+
+

Keep the investigation in your workflow.

+

+ Use REA from your terminal or through your agent's MCP connection. + Analysis runs locally, and results include the source locations, + evidence and open questions you need to continue. +

+
+
+

Use your analysis tools

+

+ Connect a local analysis provider for native binaries. Static + JavaScript analysis runs with Node.js and npm. +

+ Choose a native provider +
+
+
+ +
+
+
+

What would you like to understand?

+

+ Connect your agent, or get your first result from the terminal. +

+
+ Get started +
+
+
+ +

+ + diff --git a/website/public/showcase/dx-ball/index.html b/website/public/showcase/dx-ball/index.html new file mode 100644 index 000000000..6d4bfdf0f --- /dev/null +++ b/website/public/showcase/dx-ball/index.html @@ -0,0 +1,607 @@ + + + + + + Rebuilding DX-Ball — REA + + + + + + + + + +
+
+ +

Case study · DX-Ball 1.07

+

Rebuilding DX-Ball
from its executable.

+

+ The goal is a maintainable C version of the 1996 Windows game. REA + helps the agent inspect the original, one function at a time. +

+

Windows i386 · C · REA

+
+
+
+ DXBALL.EXE function 0x00406400 is inspected with REA. A brick-hit caller supplies 20 plus 30 times tile_x. Instructions load x, multiply by 1.5625, subtract 500.0, apply pan_scale and return an integer. The maintained C is checked independently against the original x86 in 3,205 cases and by VC4.0 compiler replay matching 63 bytes. +
+
+ One function, from executable to checked C. REA supplies the + instructions, callers and data reads; the reconstruction project + implements and tests the result. + Open figure +
+
+
+ +
+
+
+
+
55
+
maintained C functions
+
+
+
45,380
+
original-x86 differential cases
+
+
+
33
+
byte-exact functions
+
+
+

+ Project checkpoint: 7 October 2026. + Progress ledger + · + Test coverage +

+

The project so far

+

+ The recovered code covers board and resource handling, brick hits, + animations, particles and bonus production. Current builds provide + inspection utilities and an analysis library. Work on the playable + game continues with ball and paddle physics, power-up handling and + Windows integration. +

+

+ The analysis starts from the DX-Ball 1.07 executable. REA returns + function code, instructions, callers and state references. These + findings guide the C implementation; execution of the original x86 + functions and compiler replay check the result. +

+
+ +
+

Finding the sound-pan calculation

+

+ When a brick is hit, its horizontal position is passed to the + sound code. The investigation needed to recover how that screen + coordinate becomes a left/right panning value. +

+

+ The agent used REA to inspect the function, follow its brick-hit + caller and read the constants from the executable. Those results + supplied the input and arithmetic needed to write the C function + below. +

+

+ The first function result for 0x406400 included + pseudocode declaring FUN_00406400(void) and calling + __ftol(). Its instruction view showed a stack input + and floating-point operations. That discrepancy gave the agent a + concrete reason to keep investigating. +

+
+ The first decompiler view +
+
+ REA result · pseudocode excerpt +
+
longlong FUN_00406400(void)
+{
+  longlong lVar1;
+
+  lVar1 = __ftol();
+  return lVar1;
+}
+
+

+ The output shows a conversion call. Reading the instructions + below reveals the input and the calculation feeding that call. +

+
+ +

Three questions answered through REA

+
    +
  1. +

    Recover the missing input

    +
    +
    +
    + Agent → REA · analyze_function +
    +
    {"procedure": "0x406400"}
    +
    +
    +
    + REA → agent · instruction excerpt +
    +
    0x406409: MOV EAX, dword ptr [EBP + 0x8]
    +0x40640c: MOV dword ptr [EBP + -0xc], EAX
    +0x40640f: FILD dword ptr [EBP + -0xc]
    +
    +
    +

    + The function result includes instructions alongside pseudocode + and callers. Here, [EBP+8] exposes the integer + input missing from the decompiler view. +

    +
  2. +
  3. +

    Follow the caller to understand the input

    +
    +
    +
    + Agent → REA · analyze_function +
    +
    {"procedure": "0x411f40"}
    +
    +
    +
    + REA → agent · caller excerpt +
    +
    0x411f5b: ADD EAX, 0x14
    +0x411f5e: PUSH EAX
    +0x411f5f: CALL 0x00406400
    +
    +
    +

    + REA identified this caller in the first result. Its preceding + instructions scale tile_x by 30; adding 20 gives + the brick's screen coordinate, 20 + 30 × tile_x. +

    +
  4. +
  5. +

    Read the values behind the memory addresses

    +
    +
    +
    + Agent → REA · two + read_bytes requests +
    +
    {"address": "0x420068", "length": 16}
    +{"address": "0x4210a0", "length": 8}
    +
    +
    +
    + REA byte results · decoded as doubles +
    +
    000000000000f93f → 1.5625
    +0000000000407f40 → 500.0
    +000000000000f03f → 1.0
    +
    +
    +

    + The returned bytes establish the two arithmetic constants and + initial pan scale. The agent now has the values needed for the + C expression. +

    +
  6. +
+

+ REA exposes these operations through CLI and MCP, with target + identity and Evidence IDs in the results. The agent can follow up + on a caller or data address directly, then use the findings to + write maintained C. +

+ +

From REA's findings to C

+

+ Follow the five steps below. Each selection highlights the + original instructions and the C lines they informed. +

+
+
+ + + + + +
+
+
+
+ Original x86 · excerpt +
+
0x406409: MOV EAX, dword ptr [EBP + 0x8]
+0x40640c: MOV dword ptr [EBP + -0xc], EAX
+0x40640f: FILD dword ptr [EBP + -0xc]
+0x406415: FMUL double ptr [0x00420068]
+0x40641e: FSUB double ptr [0x00420070]
+0x406427: FMUL double ptr [0x004210a0]
+0x406430: CALL 0x0041678c
+0x40643e: RET
+
+
+
+ Reconstructed C +
+
DxBallInt dxball_screen_pan(DxBallInt x)
+{
+    double pan;
+    pan = (double)x;
+    pan = pan * 1.5625;
+    pan = pan - 500.0;
+    pan = pan * dxball_pan_scale;
+    return (DxBallInt)pan;
+}
+
+
+
+

+ 01 · Read the input. + The instruction view in REA's function result reads + [EBP+8] and uses FILD to load the + integer. Following its caller through REA establishes the + screen-coordinate meaning of the C parameter x. +

+ + + + +
+
+

+ The assembly excerpt selects the input, arithmetic and return + instructions. The full listing below also includes the intervening + stores and function setup and cleanup. +

+
+ Full assembly and supporting evidence +
+
+ REA result · 0x406400–0x40643e +
+
0x406400: PUSH EBP
+0x406401: MOV EBP, ESP
+0x406403: SUB ESP, 0xc
+0x406406: PUSH EBX
+0x406407: PUSH ESI
+0x406408: PUSH EDI
+0x406409: MOV EAX, dword ptr [EBP + 0x8]
+0x40640c: MOV dword ptr [EBP + -0xc], EAX
+0x40640f: FILD dword ptr [EBP + -0xc]
+0x406412: FST double ptr [EBP + -0x8]
+0x406415: FMUL double ptr [0x00420068]
+0x40641b: FST double ptr [EBP + -0x8]
+0x40641e: FSUB double ptr [0x00420070]
+0x406424: FST double ptr [EBP + -0x8]
+0x406427: FMUL double ptr [0x004210a0]
+0x40642d: FST double ptr [EBP + -0x8]
+0x406430: CALL 0x0041678c
+0x406435: JMP 0x0040643a
+0x40643a: POP EDI
+0x40643b: POP ESI
+0x40643c: POP EBX
+0x40643d: LEAVE
+0x40643e: RET
+
+

What the caller supplies

+

+ The brick-hit function at 0x411f40 scales its tile + coordinate by 30, adds 20, then pushes it before the call: +

+
+
0x411f50: MOV EAX, dword ptr [EBP + 0x8]
+0x411f53: ADD EAX, EAX
+0x411f55: LEA EAX, [EAX + EAX*0x2]
+0x411f58: LEA EAX, [EAX + EAX*0x4]
+0x411f5b: ADD EAX, 0x14
+0x411f5e: PUSH EAX
+0x411f5f: CALL 0x00406400
+0x411f64: ADD ESP, 0x4
+
+

What the data reads establish

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ REA byte reads, decoded as little-endian doubles +
AddressValueUsed for
0x4200681.5625First multiplication
0x420070500.0Subtraction
0x4210a01.0 initiallyStored pan scale
+
+

+ Recorded with REA 4.1.0 for the hash-pinned DX-Ball 1.07 target. + The linked investigation notes retain the Evidence IDs. +

+
+

+ Maintained source + · + Investigation notes and evidence references +

+
+ +
+

Checking the recovered function

+

+ The input, caller context and constant values returned through REA + guided the maintained C implementation. The project then checked + it against the original x86 function and the pinned compiler. For + this function, both checks pass. +

+
+
+

3,205 behavior cases

+

+ The tests execute the original x86 function and compare its + return value with the maintained C. They cover every integer + position from 0 to 640 at five pan scales: 0, 0.5, 1, 20 and + −1. +

+
+
+

63 matching bytes

+

+ The C function is compiled with the pinned VC4.0 toolchain. + Compiler replay matches the complete function after applying + the reviewed relocations and checking the referenced + constants. +

+
+
+

+ At a scale of 1, the recovered calculation returns −500 at the + left edge, 0 at the center and 500 at the right edge. The next + part of the audio work is integrating that value with the game's + sound backend. +

+

+ Read the compiler replay details +

+
+ +
+

Continue the investigation

+

+ The same approach is being used for particle updates, explosion + queues and bonus generation: inspect the relevant functions, + recover their state and dependencies, then compare the + implementation with the original. +

+

+ To inspect the sound-pan function yourself, follow the DX-Ball + project's setup instructions and supply its matching original + target. Then run: +

+
+
+ In the DX-Ball checkout +
+
scripts/rea function original/DXBALL.EXE 0x00406400 \
+  --snapshot .analysis/rea/dxball.snapshot.json --json
+
+ + +
+
+
+
+ +

+ +